深入理解linux下檢視程序記憶體的使用情況

2022-09-26 17:24:10 字數 1419 閱讀 1673

動態檢視乙個程序的記憶體使用

複製** **如下:

1、top命令

top -d 1 -p pid [,pid ...] //設定為delay 1s,預設是delay 3s

如果想根據程式設計客棧記憶體使用量進行排序,可以shift + m(sort by memory usage)

靜態檢視乙個程序的記憶體使用

複製** **如下:

1、pmap命令

pmap pid

2、ps命令

ps aux|grep process_name

3、檢視/proc/process_id/資料夾下的status檔案

name:   php

state:  r (running)

sleep**g:       0%

tgid:   21574

pid:    21574

ppid:   10005

tracerpid:      0

uid:    1000    1000    1000    1000

gid:    100     100     100     100

fdsize: 256

groups: 16 100

vmpeak:   161740 kb

vmsize:   161740 kb

vmlck:         0 kb

vmhwm:    107144 kb

vmrss:    107144 kb

vmdata:   106192 kb

vmstk:     &www.cppcns.comnbsp;  84 kb

vmexe:      5588 kb

vmlib:      7884 kb

vmpte:       268 kb

threads:        1

sigq:   0/69632

sigpnd: 0000000000000000

shdpnd: 0000000000000000

sigblk: 程式設計客棧0000000000000000

sigign: 0000000000001000

sigcgt: 00000001818040a7

capinh: 0000000000000000

capprm: 0000000000000000

capefffzezfnrq: 0000000000000000

cpus_allowed:   00000000,00000000,00000000,0000000f

mems_allowed:   1

任務虛擬位址空間的大小 vmsize

應用程式正在使用的物理程式設計客棧記憶體的大小 vmrss

本文標題: 深入理解linux下檢視程序記憶體的使用情況

本文位址:

深入理解Linux核心 程序

1 程序的靜態特性 程序 程式執行時的乙個例項 程序描述符 task struct 程序的基本資訊 thread info 指向記憶體區描述符的指標 mm struct 程序相關的tty tty struct 當前目錄 fs struct 指向 檔案描述符的指標 files struct 所接收的訊...

深入理解 linux swapper 程序

對於父程序已經終止的所有程序,他們的父程序都改變為init。在乙個程序終止時,核心逐個檢查所有活動的程序,以判斷他是否是正要終止程序的子程序,如果是,則將該程序id更改為1,這種方法保證了每個程序都有乙個父程序。如果子程序在父程序終止之前終止,父程序如何能做相應檢驗得到子程序的終止狀態呢?對此的回答...

深入理解Linux核心 程序位址空間

給核心分配記憶體和給使用者態程序分配記憶體是有區別的 1 核心的優先順序最高,如果某個核心函式請求動態記憶體,不會被延時 2 核心信任自己,不必保護措施 3 使用者態程序對動態記憶體的請求被認為不是緊迫的,總是被盡量推遲分配 4 使用者程序總是不可信任的 程序的位址空間 1 由允許程序使用的全部線性...