linux 記憶體占用比以及記憶體各欄位介紹

2021-08-08 19:00:59 字數 970 閱讀 3870

linux會借用空閒的記憶體當作磁碟快取, 磁碟資料快取會讓linux執行的更快,它永遠不會從程式中拿出記憶體。

它沒有任何缺點,只是會混淆新手,如果你的應用程式需要更多的記憶體,他們會**一部分用作磁碟資料快取的物理記憶體,返回給應用程式,這個過程不需要啟動交換

磁碟快取(disk caching)是不能禁用的 –為了增加資料交換速度

記憶體佔用率 = total/ (total - (used + free + buffer + cache))

如果真要和windows比,其剩餘的記憶體大小為 +buffers/cache = 685544kb (680m左右)

程式使用記憶體大小 330m左右,而不是 使用了 900m 剩餘100m

buffer裡 73m用作塊裝置做快取(記錄檔案系統的metadata和tracking in flight pages )

cached 裡 510m 用作快取檔案

buffer和cached 隨時都可以騰出空間 給程式使用

buffer 用於存放要輸出到磁碟的資料

cache是從磁碟讀出存放到記憶體中待今後使用的資料。它們的引入均是為了提供io的效能。

shared 為程序間共享的記憶體

記憶體:從使用者和作業系統的角度來看,其大小空間是有區別的。像buffer/cached的記憶體,由於這塊記憶體從作業系統的角度確實被使用,但如果使用者要使用,這塊記憶體是可以很快被**而被使用者空間程式使用,因此從使用者角度而言這塊記憶體應被劃為空閒狀態。

為什麼linux 會有這種機制呢?

其實這是一種非常優秀的設計,目的就是為了提公升磁碟io的效能,從低速的塊裝置上讀取的資料會暫時儲存在記憶體中,即使資料在當時已經不再需要了,但在應用程式下一次訪問該資料時,它可以從記憶體中直接讀取,從而繞開低速的塊裝置,從而提高系統的整體效能。

linux記憶體占用問題

linux開機後,使用top命令檢視,4g物理記憶體發現已使用的多大3.2g,佔用率高達80 以上 mem 3889836k total,3341868k used,547968k free,286044k buffers swap 6127608k total,0k used,6127608k f...

檢視linux記憶體占用

可以直接使用top命令後,檢視 mem的內容。可以選擇按程序檢視或者按使用者檢視,如想檢視oracle使用者的程序記憶體使用情況的話可以使用如下的命令 1 top top命令是linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源占用狀況,類似於windows的任務管理器 可以直接使用to...

linux 檢視程序占用記憶體

top b n 1 grep opera awk cpu 0.0 mem 26.4 其中 rss 程序實際占用物理記憶體大小 vsz 任務虛擬位址空間的大小 root localhost cat proc self statm 654 57 44 0 0 334 0 以下是我自己的理解 從上面可以看...