Linux 中的記憶體使用率計算方式

2022-10-09 02:18:07 字數 1125 閱讀 5811

在工作中處理問題的時候,遇到乙個問題,自己根據top命令時檢視到的 used 和 total 計算出來的記憶體使用率已經達到 90% 以上了,但是系統自帶的監控軟體計算出來的使用率往往沒有這麼高。在網上查詢了一些文章,說應該使用free命令,top命令顯示的結果不太準確,因此決定將自己的學習過程記錄一下。

linux 的顯示命令中有 free 和 **ailable 兩種表示空閒的記憶體,它們之間的區別如下:free 表示這部分記憶體沒有被用來做任何事情,**ailable 表示這邊部分記憶體可以被應用程式申請使用。

free命令的顯示結果實際上是從檔案/proc/meminfo中讀取的,預設的顯示結果如下圖所示:

linux 中為了加快系統的執行速度,往往會使用快取的機制。這裡的buffers 和 cached 就是作業系統為了加快執行速度使用到的記憶體,這部分記憶體不是某個程序申請的。當需要新啟動乙個程式時,而程式申請的記憶體又比較大時,這兩部分的記憶體時可以釋放出來給當前這個程式使用的。因此實際系統當前空閒,可供新的程式申請使用的應該是第二行顯示的空閒記憶體。

有了上面free命令的顯示結果介紹,也就明白了為什麼根據top命令顯示的 used 和 total 計算出來的記憶體使用率不準確,因為這裡的 used 並沒有除去 buffers 和 cached 使用的這部分記憶體,而這部分記憶體實際上是可以釋放出來給程式使用的。

nodejs 計算記憶體使用率

計算記憶體使用率 function calcmem 測試worker use strict const fork require child process fork,cpus require os cpus 儲存被子程序例項陣列 var workers 這裡的被子程序理論上可以無限多 儲存fork...

如何正確計算LINUX記憶體使用率

圖中的例子不是很典型,典型的情況是 多數的linux系統在free命令後會發現free 剩餘 的記憶體很少,而自己又沒有開過多的程式或服務。對於上述的情況,正確的解釋是 linux的記憶體管理機制與windows的有所不同。具體的機制我們無需知道,我們需要知道的是,linux的記憶體管理機制的思想包...

正確計算linux系統記憶體使用率

圖中的例子很典型,就是 多數的linux系統在free命令後會發現free 剩餘 的記憶體很少,而自己又沒有開過多的程式或服務。對於上述的情況,正確的解釋是 linux的記憶體管理機制與windows的有所不同。具體的機制我們無需知道,我們需要知道的是,linux的記憶體管理機制的思想包括 不敢說就...