Linux實際記憶體使用計算

2022-09-17 22:51:21 字數 1423 閱讀 1306

通常我們看到linux用top命令檢視系統執行狀況。普遍看到used memory佔到了將近總記憶體的90%,然後非常多人以為系統記憶體已經不足。事實上,這僅僅是linux的為了提高檔案讀取的效能的記憶體使用機制罷了。不同於windows,windows程式執行完後。會立即釋放掉記憶體,把memory降下來。而對於linux,假設你的server記憶體還有足夠多的空間的話,linux會把程式執行的資料快取起來,新增到cache中,所以記憶體會不斷新增。直到一定的限度為止.當超過這限度後,核心必須將髒頁寫回磁碟,以便釋放記憶體。也就是說,當空暇記憶體低於乙個特定的閾值時。核心的守護程序就會進行記憶體塊**.

怎樣檢視linux記憶體使用情況呢,一般的我們能夠用top命令。

我們能夠看到free 的mem僅僅有763704k(700多m), 已經使用量達到:3160424k(大概3g)。而快取的記憶體達到:2127220k 幾乎相同2g.

看起來好像記憶體的確不夠了,可是我們還有約2g+700m的空間可用。

我們用free -m 命令檢視下記憶體的使用情況:

以上各引數的解釋:

total:總物理記憶體的大小。

used:已使用記憶體。

free:可用記憶體。

shared:多個程序共享的記憶體總額。

buffers/cached:磁碟快取的大小。

第二行:memory使用情況。

第三行(-/+ buffers/cache)。

第四行交換分割槽使用情況。

差別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的差別。 

第三行所指的是從應用程式角度來看。對於應用程式來說。buffers/cached 是等於可用的,由於buffer/cached是為了提高檔案讀取的效能,當應用程式需在用到記憶體的時候,buffer/cached會非常快地被**。

所以從應用程式的角度來說。可用記憶體=系統free memory+buffers+cached

如上例:

可用記憶體的計算為:2942m=746m+118m+2077m

所以,我們通過free命令檢視機器空暇記憶體時,會發現free的值非常小。這主要是由於。在linux中有這麼一種思想,記憶體不用白不用,因此它盡可能的cache和buffer一些資料,提高檔案讀取的效能,以方便下次使用。但實際上這些記憶體,假設須要的話,也是能夠立馬拿來使用的。

所以計算 可用記憶體=free+buffers+cached=total(3832)-used(889)

linux環境使用計算器功能

linux環境下如何使用計算器功能 輸入bc 然後就進入了計算器模式。退出則輸入quit。使用示例 示例一 命令列方式使用bc root localhost centos39 bc bc 1.06 1994 1997 1998 2000 free software foundation,inc.th...

linux系統記憶體實際使用率

通過定期採集 proc檔案系統內的meminfo檔案來獲取當前記憶體使用情況。proc檔案系統是乙個偽檔案系統,它只存在記憶體當中,而不占用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。使用者和應用程式可以通過proc得到系統的資訊,並可以改變核心的某些引數。由於系統的資訊,如程序,...

mysql 記憶體計算 MYSQL使用記憶體計算

mysql記憶體占用計算 global buffer all thread buffer global buffer innodb buffer pool size 快取表資料和索引資料,加速查詢,並且使查詢結果集儲存在內以供重用,一般設定到主機記憶體的70 以下 innodb additional...