我在計算一組進程實際使用的內存(駐留)時遇到了問題。在Linux上通過一組進程計算已用內存
剛剛出現的問題是一組用戶擁有一組共享內存之間的內存的過程,所以簡單添加已用內存最後會出現無用數字(當機器只有48GB內存時> 60gb)。
有沒有簡單的方法來解決這個問題?
我大概可以做一些近似。以(res mem - shared mem) * num proc + shared mem
。但並非所有進程都必須共享相同的內存塊。
我正在爲C/C++尋找針對此問題的POSIX或Linux解決方案。
遠不是答案,但我想你可以根據'/ proc/$ {PID}/maps'確定哪些進程共享什麼內存。 – 2013-08-07 13:27:10
您也可以嘗試[ps](http://unixhelp.ed.ac.uk/CGI/man-cgi?ps)命令,該命令顯示不同進程使用的內存。 –
@ArunR我在ps中沒有看到這樣的選項,你能否提供答案? –