Linux
為什麼 ulimit -u 高於 /proc/sys/kernel/pid_max?
關於我的系統
ulimit -u
報告63172
和/proc/sys/kernel/pid_max
報告32768
。為什麼 for 的值
ulimit -u
高於核心的值?據我了解,ulimit -u
顯示使用者可以擁有的最大程序,而不是系統範圍的。pid_max
應該通過核心在系統範圍內。ulimit -u
對我來說,高於似乎是錯誤的,pid_max
這是否意味著如果使用者產生了足夠多的程序,他們可能會導致 PID 迴繞?此外,如果pid_max
使用者正在做的事情擊中了該值,那不會導致No more processes error
發生嗎?
PID在正常使用中確實會環繞。這根本不是問題。核心確保新的 PID 不會與現有的 PID 衝突。沒有什麼說 PID 必須單調遞增。程序 12345 可以很容易地
fork()
擁有一個子程序 5001。在這種情況下,是的,使用者可能會用完所有程序槽並阻止進一步
fork()
的類型活動發生。如果這是您的環境中的問題,那麼您需要調整 ulimit 值/etc/security/limits.conf
或/etc/security/limits.d/*