Linux

‘ulimit -m’ 不能在(現代)Linux 上執行嗎?

  • November 25, 2020

這篇文章聲稱-m標誌 toulimit在現代 Linux 中沒有任何作用。我找不到任何其他證據來證實這一說法。準確嗎?

您可以嘗試通過設置最大駐留集大小(ulimit -m)來限制程序的記憶體使用。這對 Linux 沒有影響。man setrlimit 說它曾經只在古代版本中工作。您應該限制虛擬記憶體的最大數量 (ulimit -v)。

如果它確實在舊版本的 Linux 中工作,那麼哪個版本停止支持這個?

它在文章中說:

這對 Linux 沒有影響。man setrlimit 說它曾經只在古代版本中工作。

setrlimit手冊頁說:

 RLIMIT_RSS
        Specifies the limit (in pages) of the process's resident set
        (the number of virtual pages resident in RAM).  This limit has
        effect only in Linux 2.4.x, x < 30, and there affects only
        calls to madvise(2) specifying MADV_WILLNEED.

所以它在2.4.30停止工作。2.4.30 的變更日誌說明了這一點:

Marcelo Tosatti:

o Ake Sandgren:修復 RLIMIT_RSS madvise 計算錯誤

o Hugh Dickins:從 madvise 中刪除 rlim_rss 和此 RLIMIT_RSS 程式碼。大概是程式碼誤入了

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