Linux

為什麼 ulimit -u 高於 /proc/sys/kernel/pid_max?

  • June 29, 2016

關於我的系統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/*

引用自:https://unix.stackexchange.com/questions/292909