in resources/templates/goad-cdk/load-gen/loadgen.go [356:382]
func rlimitValidator(desired int) {
var rLimitActual unix.Rlimit
err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimitActual)
if err != nil {
fmt.Println("Error getting Rlimit", err)
}
fmt.Printf("Rlimit before: %v\n", rLimitActual)
var rLimitDesired unix.Rlimit
rLimitDesired.Max = 65535
rLimitDesired.Cur = 65535
err = unix.Setrlimit(unix.RLIMIT_NOFILE, &rLimitDesired)
if err != nil {
fmt.Println("Error Setting Rlimit ", err)
}
err = unix.Getrlimit(unix.RLIMIT_NOFILE, &rLimitActual)
if err != nil {
fmt.Println("Error getting Rlimit", err)
}
fmt.Printf("Rlimit after: %v\n", rLimitActual)
if rLimitActual.Cur < uint64(desired) {
log.Printf("WARNING: max open files %d < desired concurrent connections %d", rLimitActual.Cur, desired)
}
}