Process
誰來解釋procstat輸出記憶體資訊?
我使用命令
procstat -r $(pidof myprocess)
,我得到以下輸出……PID COMM RESOURCE VALUE 84867 myprocess user time 00:00:12.637834 84867 myprocess system time 00:00:06.671334 84867 myprocess maximum RSS 11400 KB 84867 myprocess integral shared memory 1931920 KB 84867 myprocess integral unshared data 28272 KB 84867 myprocess integral unshared stack 301568 KB 84867 myprocess page reclaims 653 84867 myprocess page faults 0 ...
我有點擔心
84867 myprocess integral shared memory 1 931 920 KB 84867 myprocess integral unshared data 28 272 KB 84867 myprocess integral unshared stack 301 568 KB
這三個詞是什麼意思?
htop
給了我關於記憶的體面價值(VIRT等)。我應該擔心記憶體洩漏嗎?
這沒有很好的記錄,也讓我感到困惑。
integral shared memory
和status 是執行計數器integral unshared data
,而integral unshared stack
不是目前使用情況的快照。它們無限增長是正常的。它們並不表示記憶體洩漏。有關每個欄位數據的確切描述,請參見http://www.khmere.com/freebsd_book/html/ch07.html。
程序連結到的每個共享庫的
integral shared memory
包含code
和段。rodata
將近 2GB 的數字很大,但如果它是像瀏覽器這樣的大型應用程序,這並不奇怪。未共享段是由您的程序分配的數據,包括來自共享庫的 r/w 數據頁等。如果這些數據沒有驚人地上升(或更糟,無界),您可能沒問題。