ryouta
Should I be concerned about many processes running?
Hi, I have been learning elixir lately and did some hands. All I did was create some exs files and ran them. After a while I ran below command on shell
Process.info()
This returned a list of so many PIDs. I was wondering why a lot of processes have been created even though I haven’t anything big with elixir?
Result obtained after running the above command
[#PID<0.0.0>, #PID<0.1.0>, #PID<0.2.0>, #PID<0.3.0>, #PID<0.4.0>, #PID<0.5.0>,
#PID<0.6.0>, #PID<0.7.0>, #PID<0.8.0>, #PID<0.11.0>, #PID<0.43.0>,
#PID<0.45.0>, #PID<0.46.0>, #PID<0.47.0>, #PID<0.49.0>, #PID<0.50.0>,
#PID<0.51.0>, #PID<0.52.0>, #PID<0.53.0>, #PID<0.55.0>, #PID<0.56.0>,
#PID<0.57.0>, #PID<0.58.0>, #PID<0.59.0>, #PID<0.60.0>, #PID<0.61.0>,
#PID<0.62.0>, #PID<0.63.0>, #PID<0.64.0>, #PID<0.65.0>, #PID<0.66.0>,
#PID<0.67.0>, #PID<0.68.0>, #PID<0.69.0>, #PID<0.70.0>, #PID<0.71.0>,
#PID<0.72.0>, #PID<0.73.0>, #PID<0.74.0>, #PID<0.75.0>, #PID<0.76.0>,
#PID<0.81.0>, #PID<0.82.0>, #PID<0.85.0>, #PID<0.86.0>, #PID<0.87.0>,
#PID<0.88.0>, #PID<0.89.0>, #PID<0.90.0>, #PID<0.91.0>, ...]
Can someone help me understand this? Are these beam vm processes and considered as normal?
Elixir version - 1.18.4
OS - macOS
Marked As Solved
josevalim
Welcome! That’s completely expected, since Erlang and Elixir itself are designed around processes, and pretty much every dependency that you use. However, they are very lightweight and you can create millions of them. For example, the Livebook application has 300+ processes on boot, and that’s normal (and many of them are idle anyway, waiting for a message). ![]()
Also Liked
olivermt
This depends entirely what code you ran and is hard to answer generically. But yes a supervised app will make a few processes.
lud
The number of processes is not a concern.
The number of processes doing memory intensive stuff at the same time could be a problem ![]()
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance








