top指令下的記憶體概念

2021-08-08 13:58:29 字數 917 閱讀 4698

virt:

1、程序

「需要的

」虛擬記憶體大小,包括程序使用的庫、**、資料,以及

malloc

、new

分配的堆空間和分配的棧空間等;

2、假如程序新申請

10mb

的記憶體,但實際只使用了

1mb,那麼它會增長

10mb

,而不是實際的

1mb使用量。

3、virt = swap + res

res:

1、程序當前使用的記憶體大小,包括使用中的

malloc

、new

分配的堆空間和分配的棧空間,但不包括

swap out量;

2、包含其他程序的共享;

3、如果申請

10mb

的記憶體,實際使用

1mb,它只增長

1mb,與

virt

相反;

4、關於庫占用記憶體的情況,它只統計載入的庫檔案所佔記憶體大小。

5、res = code + data

shr:

1、除了自身程序的共享記憶體,也包括其他程序的共享記憶體;

2、雖然程序只使用了幾個共享庫的函式,但它包含了整個共享庫的大小;

3、計算某個程序所佔的物理記憶體大小公式:

res – shr;

4、swap out

後,它將會降下來。

示例#include

int main()

top:

pid user pr  ni  virt res shr s %cpu %mem time+ command

401 hhhhh 17   0   523m 916 792  s  0.0  0.0   0:00.00 ./main

原文:

linux 記憶體管理 和top指令

linux中,使用top指令檢視linux系統狀況,其中第四行是記憶體管理,經常我們會看到這種情況,就是空閒記憶體很小,如下 第四行 記憶體狀態 8306544k total 物理記憶體總量 8gb 7775876k used 使用中的記憶體總量 7.7gb 530668k free 空閒記憶體總量...

aix下檢視top 10 記憶體使用

ps gv head 1 ps gv sort 6b nr head檢視size項,單位1kb zxrms140b tmp ps gv head 1 ps gv sort 6b nr head pid tty stat time pgin size rss lim tsiz trs cpu mem ...

轉貼 多核環境下的記憶體屏障指令

呵呵,工作小息 抽空看了雲風的blog,發現又有好東西值得學習了,由於多核的程式設計之前接觸得比較少,所以有了這樣的文章,還是很感動的。當然不能忘記感謝前輩們百忙之中抽空寫文章,下面是轉貼的內容 周老師那個 session 正好排在我的前面。同一間會議室,而且內容我也頗有興趣。也就順理成章的聽了。講...