2014-01-09 15 views
0

我用了pidstat -r -p <pid> <interval> >> log_Path/MemStat.CSV &命令來收集內存狀態。 運行此命令後,我發現RSS VSZ%MEM值連續增加,這不是預期的,因爲pidstat會提供考慮區間的值。從pidstat的無效輸出中計算正確的內存利用率

在網上搜索後,我發現有pidstat中的錯誤,我需要更新syssat軟件包。 (請參考此鏈接上的pidstat作者的最後幾條語句:http://sebastien.godard.pagesperso-orange.fr/tutorial.html

現在,我的問題是,如何從當前輸出計算正確的%MEM利用率,因爲我們無法再次運行測試。 輸出樣本:

Time  PID minflt/s majflt/s VSZ  RSS  %MEM 
9:55:22 AM 18236 1280 0  26071488 119136 0.36 
9:55:23 AM 18236 4273 0  27402768 126276 0.38 
9:55:24 AM 18236 9831 0  27402800 162468 0.49 
9:55:25 AM 18236 161  0  27402800 169092 0.51 
9:55:26 AM 18236 51  0  27402800 175416 0.53 
9:55:27 AM 18236 6859 0  27402800 198340 0.6 
9:55:28 AM 18236 1440 0  27402800 203608 0.62 

回答

0

在SYSSTAT教程頁面,您是指它是說:

我注意到pidstat了內存佔用(VSZ和RSS領域) 這是不斷的增加時間過去了。我很快發現 ,我忘了關閉一個文件描述符在我的 代碼的功能,這是負責內存泄漏......!

因此,pidstat的輸出從來沒有失效;相反,作者寫了

pidstat幫助我檢測到pidstat命令 本身的內存泄漏。