Linux下檢視某一個程式執行所佔用的記憶體
第一種方式
top -p 程序號
[yzy@node3 micro-service]$ top -p 20490
top - 16:50:32 up 6 days, 2:18, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 65876972 total, 51899292 free, 9988408 used, 3989272 buff/cache
KiB Swap: 32964604 total, 32964604 free, 0 used. 55522228 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20490 yzy 20 0 113252 1632 1272 S 0.0 0.0 0:35.50 sh
第二種方式
ps -aux | grep 程序名
[zhoulu@node3 micro-service]$ ps -aux | grep eureka-auto.sh
zhoulu 3716 0.0 0.0 112640 972 pts/0 S+ 16:49 0:00 grep --color=auto eureka-auto.sh
zhoulu 20490 0.0 0.0 113252 1632 ? S Apr14 0:35 /bin/sh ./eureka-auto.sh
第三種方式
cat /proc/程序號/status
[[email protected] micro-service]$ cat /proc/20490 /status
Name: sh
State: S (sleeping)
Tgid: 20490
Ngid: 0
Pid: 20490
PPid: 1
TracerPid: 0
Uid: 1019 1019 1019 1019
Gid: 1019 1019 1019 1019
FDSize: 256
Groups: 1019
VmPeak: 113256 kB
VmSize: 113252 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1632 kB
VmRSS: 1632 kB
VmData: 340 kB
VmStk: 136 kB
VmExe: 884 kB
VmLib: 2044 kB
VmPTE: 52 kB
VmSwap: 0 kB
Threads: 1
SigQ: 0/257254
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000000005
SigCgt: 0000000000010002
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: ffff
Cpus_allowed_list: 0-15
Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 102189
nonvoluntary_ctxt_switches: 170
VmSize(KB) 任務虛擬地址空間的大小 (total_vm-reserved_vm),其中total_vm為程序的地址空間的大小,reserved_vm:程序在預留或特殊的記憶體間的物理頁
VmLck(KB) 任務已經鎖住的實體記憶體的大小。鎖住的實體記憶體不能交換到硬碟 (locked_vm)
VmRSS(KB) 應用程式正在使用的實體記憶體的大小,就是用ps命令的引數rss的值 (rss)
VmData(KB) 程式資料段的大小(所佔虛擬記憶體的大小),存放初始化了的資料; (total_vm-shared_vm-stack_vm)
VmStk(KB) 任務在使用者態的棧的大小 (stack_vm)
VmExe(KB) 程式所擁有的可執行虛擬記憶體的大小,程式碼段,不包括任務使用的庫 (end_code-start_code)
VmLib(KB) 被映像到任務的虛擬記憶體空間的庫的大小 (exec_lib)
VmPTE 該程序的所有頁表的大小,單位:kb
Threads 共享使用該訊號描述符的任務的個數,在POSIX多執行緒序應用程式中,執行緒組中的所有執行緒使用同一個訊號描述符
1、VmRSS是真實正在佔用的記憶體,而VmData是虛擬記憶體,大小差異大並沒有什麼問題。
2、VmData是指資料段的記憶體大小,存放初始化了的資料; (total_vm-shared_vm-stack_vm)
3、不調動態庫的時候是不計算的(dlopen方式)
4、靜態庫會編譯為程式本身的一部分,不在VmLib的統計之內。
5、參考上面的說明
6、除非有非常明顯的記憶體洩露,如記憶體一直大幅度增長並長時間不釋放,否則單純以來這些值是很判斷真正的內在洩露。
相關推薦
Linux下檢視某一個程式執行所佔用的記憶體【轉】
第一種方式 top -p 程序號 [[email protected] micro-service]$ top -p 20490 top - 16:50:32 up 6 days, 2:18, 1 user, load average: 0.00,
Linux下檢視某一個程式執行所佔用的記憶體
第一種方式 top -p 程序號 [yzy@node3 micro-service]$ top -p 20490 top - 16:50:32 up 6 days, 2:18, 1 user, load average: 0.00, 0.01,
linux下檢視某一程式所佔記憶體
原文:https://blog.csdn.net/rickiyeat/article/details/70230253 第一種方式 top -p 程序號 1 [[email protected] micro-service]$ top -p 20490 top
linux 下檢視某一程序的cpu使用率和這個執行緒中各個執行緒的cpu使用率
在Ubuntu/CentOS等linux系統中, 在除錯程式過程中,有時需要檢視程式的CPU的使用率和程式的各個程序的使用率. 那麼首先需要獲取這個程序的PID: ps -ef|grep [process name] 然後檢視該程序的CPU: top -p [PID]
linux下檢視某關鍵詞前後幾行內容
1、一個比較方便直接的辦法是 檢視filename中含有abc所在行後4行內容 cat filename | grep abc -A4 檢視filename中含有abc所在行前4行內容 cat filename | grep abc -B4 2、
linux下檢視某一埠被哪個程序佔用
方法1: lsof命令,即ls open files lsof -i:埠號 例如: 方法2: netstat命令 netstat -tunpl | grep 埠號 例如:
Linux下檢視某一程序佔用資源的情況
linux系統中我們需要檢視某一程序佔用伺服器資源的消耗情況,應該如何去實現呢?下面我們分兩步來告訴大家: 首先,我們需要檢視這個程序的pid,假設pid為3007。 [[email protected] software]# top top - 15:42
Linux下檢視消耗CPU的執行緒
javaweb 專案部署後發現很耗cpu,需要查出問題所在 寫個測試程式,記相關步驟: 故意寫個死迴圈 public class TestCpu { public static void main(String[] args) { while (t
linux下檢視程序啟動、執行的時間
可通過ps 來檢視,通過引數 -o 來檢視 例: ps -eo pid,tty,user,comm,lstart,etime | grep init 引數說明: pid:程序ID tty:
在linux下檢視有哪些作業系統程序正在使用某一個共享記憶體段
[[email protected] log]# ipcs -m ------ Shared Memory Segments -------- key shmid owner perms bytes nattch
Linux下實現進度條程式. 通過makefile進行編譯. 建議自主完成一個彩色的進度條.
Linux下用C語言完成一個彩色進度條 1.建一個Makefile檔案 2.vim Makefile test:test.c
linux刪除資料夾下除了某一個檔案之外的所有檔案及find用法
原文: https://www.jb51.net/article/99319.htm 比如一個目錄下有1,2,3,4,5這五個檔案,現在我需要刪除除了2以外的所有檔案,那麼我可以使用 find . ! -name 2 -exec rm -f {} \; 當然你還可以配合
linux刪除文件夾下除了某一個文件之外的所有文件及find用法
exe 有關 含義 文件屬性 [ ] ini 之一 命令 避免 原文: https://www.jb51.net/article/99319.htm 比如一個目錄下有1,2,3,4,5這五個文件,現在我需要刪除除了2以外的所有文件,那麽我可以使用 find
第一個linux下的c語言程式
當然是列印hello world啦。 1.vim helloworld.c如下: #include <stdio.h> int main() { char *c; c = "hello world!"; printf("%s\n",c
Linux下限制某程式CPU佔用
在1臺雲主機上使用GDrive同步檔案時,老是觸發主機商的CPU佔用上限,不停的被強制關機。好麼,找了一圈,發現1個挺好用的限定CPU佔用的程式:CPULimit 記載一下CentOS 7下CPULimit的部署與使用途中 部署 git clone http
如何開機不桌面進入直接執行某一個程式
1.禁用開機啟動: 開始--執行--輸入msconfig回車--啟動--把explorer.的勾去掉就可以了。 2. 修改登錄檔: 在"HKEY_LOCAL_MACHINE\SOFTWARE\MICROSFOT\WINDOWS NT\CURRENTVERSION\W
Linux下檢視可執行檔案、動態庫的ELF頭等資訊
用法: readelf <option(s)> elf-file(s) 作用: 和Windows下的PE檔案類似,ELF檔案是linux系統下可執行檔案、動態庫檔案、靜態庫檔案的標準格式。有時候我們需要檢視ELF檔案的頭資訊,或者動態庫檔
Linux 檢視某一個程序佔用記憶體情況
PID:程序的ID USER:程序所有者 PR:程序的優先級別,越小越優先被執行 NInice:值 VIRT:程序佔用的虛擬記憶體 RES:程序佔用的實體記憶體 SHR:程序使用的共享記憶體 S:程
linux作業系統下檢視某rpm包是32bit 還是x64bit的命令
[[email protected] ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep
Linux下如何讓jar程式在後臺執行
當我們把java程式打成jar包後,放到linux上通過putty或其它終端執行的時候,如果按照:java -jar xxxx.jar執行,當我們退出putty或終端的時候,xxxx.jar這個程式也會停止。為了保證程式能夠一直執行,應該改為這樣執行:nohup