tiny-rust-executable
automaxprocs
tiny-rust-executable | automaxprocs | |
---|---|---|
3 | 12 | |
16 | 4,749 | |
- | 1.2% | |
2.1 | 3.8 | |
5 months ago | 11 months ago | |
Assembly | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tiny-rust-executable
automaxprocs
-
Year After Switching from Java to Go: Our Experiences
> ...includes support for a soft memory limit. This memory limit includes the Go heap and all other memory managed by the runtime, and excludes external memory sources such as mappings of the binary itself, memory managed in other languages, and memory held by the operating system on behalf of the Go program"
Of course it’s a runtime setting, it won’t affect other factors but you can’t say it didn’t solved anything “because there’s a GitHub issue open” Then Go runtime was unpredictable because of its ideology “CPU is unlimited but not Memory” and containers are kinda of a dynamic resource allocated but it did solve vast amount of problem dealing with kernel OOM and unpredictable GC cycles
> You still need to use a helper library like https://github.com/KimMachineGun/automemlimit or https://github.com/uber-go/automaxprocs.
I would be surprised if the Go team implemented into the runtime, because some devs would love to have there own way of handling such settings so I don’t see it as an issue
> Forgot to add: The JVM does this for you since JDK 17 https://developers.redhat.com/articles/2022/04/19/java-17-wh...
We can’t just compare added features if don’t compare how backwards compatible the language is at that time I don’t know much about Java, but I wouldn’t say the same from upgrading from Go 1.9 to Go 1.19
-
Golang: Como a Observabilidade e Profiling Revelaram um Throttling Quase Indetectável
View on GitHub
-
The implications of running Go in a containerised environment.
In Kubernetes this issue is quite easy to solve as we have uber automaxprocs package to solve this issue. Though automaxprocs will not work for ECS uber-go/automaxprocs#66 because the cgroup cpu.cfs_quota_us is set to -1 🥲. That is why I have built gomaxecs, which is a package to help address this issue.
-
Introduction to Golang Preemption Mechanisms
This can be configured with GOMAXPROCS. It can be automated using https://github.com/uber-go/automaxprocs. Perhaps it should just be done by Golang as it catches many people out when running in Kubernetes
- Go Performance: Pequenas mudanças que ajudam a melhorar o desempenho do seu app
-
Go, Containers, and the Linux Scheduler
We use https://github.com/uber-go/automaxprocs after we joyfully discovered that Go assumed we had the entire cluster's cpu count on any particular pod. Made for some very strange performance characteristics in scheduling goroutines.
-
Senior engineer here trying to pick up Go for jobs. What resources can you recommend me to cover as much ground as possible
Follow notable issues on https://github.com/golang/go to understand such things like why https://github.com/uber-go/automaxprocs was created.
-
Setting GOMAXPROCS without CPU limits in Kubernetes?
Please never set the value manually in a kubernetes production environment. Use https://github.com/uber-go/automaxprocs
-
What are goroutines and how are they scheduled?
There is an environment variable (GOMAXPROCS) that you can set which determines how many threads your go program will use simultaneously. You can use this great library from Uber to automatically set the GOMAXPROCS variable to match a Linux container CPU quota. If you are running Go workloads in Kubernetes, you should use this.
-
Shouldn't have happened: A vulnerability postmortem
AFAIK, it hasn't changed, this exact situation with cgroups is still something I have to tell fellow developers about. Some of them have started using [automaxprocs] to automatically detect and set.
[automaxprocs]: https://github.com/uber-go/automaxprocs
What are some alternatives?
min-sized-rust - 🦀 How to minimize Rust binary size 📦
go-internals - A book about the internals of the Go programming language.
trophy-case - 🏆 Collection of bugs uncovered by fuzzing Rust code
guide - The Uber Go Style Guide.
sudo - Utility to execute a command as another user
go-perfbook - Thoughts on Go performance optimization