Linux檢視佔用記憶體的程式指令碼
#Linux檢視佔用記憶體的程式
#!/bin/bash
echo -e `date +%y%m%d%H%M`
echo -e "PID\t\tMem\t\tProc_Name"
# 拿出/proc目錄下所有以數字為名的目錄(程式名是數字才是程式,其他如sys,net等存放的是其他資訊)
for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]`
do
if [ $pid -eq 1 ];then continue;fi
grep -q "VmRSS" /proc/$pid/status 2>/dev/null
if [ $? -eq 0 ];then
mem=$(grep VmRSS /proc/$pid/status \
| gawk '{ sum+=$2;} END{ print sum }')
proc_name=$(ps aux | grep -w "$pid" | grep -v grep \
| awk '{ for(i=11;i<=NF;i++){ printf("%s ",$i); }}')
if [ $mem -gt 0 ];then
echo -e "${pid}\t${mem}\t${proc_name}"
fi
fi
done | sort -k2 -n | awk -F'\t' '{
pid[NR]=$1;
size[NR]=$2;
name[NR]=$3;
}
END{
for(id=1;id<=length(pid);id++)
{
if(size[id]<1024)
printf("%-10s\t%15sKB\t%s\n",pid[id],size[id],name[id]);
else if(size[id]<1048576)
printf("%-10s\t%15.2fMB\t%s\n",pid[id],size[id]/1024,name[id]);
else
printf("%-10s\t%15.2fGB\t%s\n",pid[id],size[id]/1048576,name[id]);
}
}'
echo -e `date +%y%m%d%H%M`
echo -e "PID\t\tMem\t\tProc_Name"
# 拿出/proc目錄下所有以數字為名的目錄(程式名是數字才是程式,其他如sys,net等存放的是其他資訊)
for pid in `ls -l /proc | grep ^d | awk '{ print $9 }'| grep -v [^0-9]`
do
if [ $pid -eq 1 ];then continue;fi
grep -q "VmRSS" /proc/$pid/status 2>/dev/null
if [ $? -eq 0 ];then
mem=$(grep VmRSS /proc/$pid/status \
| gawk '{ sum+=$2;} END{ print sum }')
proc_name=$(ps aux | grep -w "$pid" | grep -v grep \
| awk '{ for(i=11;i<=NF;i++){ printf("%s ",$i); }}')
if [ $mem -gt 0 ];then
echo -e "${pid}\t${mem}\t${proc_name}"
fi
fi
done | sort -k2 -n | awk -F'\t' '{
pid[NR]=$1;
size[NR]=$2;
name[NR]=$3;
}
END{
for(id=1;id<=length(pid);id++)
{
if(size[id]<1024)
printf("%-10s\t%15sKB\t%s\n",pid[id],size[id],name[id]);
else if(size[id]<1048576)
printf("%-10s\t%15.2fMB\t%s\n",pid[id],size[id]/1024,name[id]);
else
printf("%-10s\t%15.2fGB\t%s\n",pid[id],size[id]/1048576,name[id]);
}
}'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26972107/viewspace-774240/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux檢視佔用swap的程式指令碼Linux指令碼
- 檢視LINUX程式記憶體佔用情況Linux記憶體
- Centos環境自寫指令碼檢視使用php或nginx佔用記憶體CentOS指令碼PHPNginx記憶體
- Linux下如何檢視哪些程式佔用的CPU記憶體資源最多Linux記憶體
- 檢視程式cpu和記憶體佔用率記憶體
- Linux(CentOS) 檢視當前佔用CPU或記憶體最多的K個程式LinuxCentOS記憶體
- LINUX 檢視真正PGA佔用的記憶體大小Linux記憶體
- Linux(CentOS) 如何檢視當前佔用CPU或記憶體最多的K個程式LinuxCentOS記憶體
- 記憶體檢查指令碼記憶體指令碼
- 如何檢視MySQL資料庫佔多大記憶體,佔用太多記憶體怎麼辦?MySql資料庫記憶體
- Linux程式記憶體佔用數的計算Linux記憶體
- Linux/Centos檢視程式佔用記憶體大小的幾種方法總結LinuxCentOS記憶體
- win10如何查詢哪些應用記憶體佔用大 win10如何檢視軟體記憶體佔用Win10記憶體
- 檢視linux可用記憶體Linux記憶體
- Linux檢視記憶體資訊Linux記憶體
- 《通過指令碼檢視哪些ip被佔用》shell筆記指令碼筆記
- linux下檢視最消耗CPU、記憶體的程式Linux記憶體
- 檢視PHP-FPM的記憶體佔用、程序個數等資訊PHP記憶體
- filebeat實踐-記憶體佔用-最大記憶體佔用記憶體
- 【功能筆記】Ubuntu檢視系統資源佔用(記憶體,cpu和程式) {轉載}筆記Ubuntu記憶體
- 如何檢視 Linux 下 CPU、記憶體和交換分割槽的佔用率?Linux記憶體
- linux 檢視某個程序和服務記憶體佔用情況命令Linux記憶體
- Linux上執行記憶體中的指令碼和程式Linux記憶體指令碼
- 在linux檢視記憶體的大小(轉)Linux記憶體
- linux下查詢程式佔用的記憶體方法總結Linux記憶體
- 用GDB檢視記憶體內容記憶體
- 17 種檢視 Linux 實體記憶體的方法Linux記憶體
- linux檢視cpu、記憶體、版本資訊Linux記憶體
- Linux下檢視記憶體,CPU資訊Linux記憶體
- linux aix檢視CPU和記憶體LinuxAI記憶體
- AIX程式記憶體佔用數的計算AI記憶體
- 如何釋放linux cache佔用的記憶體Linux記憶體
- 如何檢視Linux的記憶體使用狀況Linux記憶體
- 檢視swap記憶體記憶體
- LINUX 佔用較多記憶體 解釋Linux記憶體
- 快速檢視LINUX 系統硬體的指令碼Linux指令碼
- Linux檢視埠被哪個程式佔用Linux
- win10系統檢視哪個軟體佔用記憶體最大的圖文教程Win10記憶體