當前位置:首頁 » 編程軟體 » 15s廣告腳本

15s廣告腳本

發布時間: 2025-07-25 12:43:02

linux查看佔用swap的進程腳本

linux查看佔用swap的進程腳本01#!/bin/bash0203##############################################################################04#
腳本功能

列出正在佔用swap的進程。05###############################################################################0607echo
-e
PID/t/tSwap/t/tProc_Name0809#
拿出/proc目錄下所有以數字為名的目錄(進程名是數字才是進程,其他如sys,net等存放的是其他信息)10for
pid
in
`ls
-l
/proc
|
grep
^d
|
awk
'{
print
$9
}'|
grep
-v
[^0-9]`11do12
#
讓進程釋放swap的方法只有一個:就是重啟該進程。或者等其自動釋放。放13
#
如果進程會自動釋放,那麼我們就不會寫腳本來找他了,找他都是因為他沒有自動釋放。14
#
所以我們要列出佔用swap並需要重啟的進程,但是init這個進程是系統里所有進程的祖先進程15
#
重啟init進程意味著重啟系統,這是萬萬不可以的,所以就不必檢測他了,以免對系統造成影響。16
if
[
$pid
-eq
1
];then
continue;fi17
grep
-q
Swap
/proc/$pid/smaps
2>/dev/null18
if
[
$?
-eq
0
];then19
swap=$(grep
Swap
/proc/$pid/smaps
/20
|
gawk
'{
sum+=$2;}
END{
print
sum
}')21
proc_name=$(ps
aux
|
grep
-w
$pid
|
grep
-v
grep
/22
|
awk
'{
for(i=11;i<=NF;i++){
printf(%s
,$i);
}}')23
if
[
$swap
-gt
0
];then24
echo
-e
${pid}/t${swap}/t${proc_name}25
fi26
fi27done
|
sort
-k2
-n
|
awk
-F'/t'
'{28
pid[NR]=$1;29
size[NR]=$2;30
name[NR]=$3;31}32END{33
for(id=1;id<=length(pid);id++)34
{35
if(size[id]<1024)36
printf(%-10s/t%15sKB/t%s/n,pid[id],size[id],name[id]);37
else
if(size[id]<1048576)38
printf(%-10s/t%15.2fMB/t%s/n,pid[id],size[id]/1024,name[id]);39
else40
printf(%-10s/t%15.2fGB/t%s/n,pid[id],size[id]/1048576,name[id]);41
}42}'

熱點內容
ipad建立子文件夾嗎 發布:2025-07-26 11:32:20 瀏覽:237
采耳可解壓嗎 發布:2025-07-26 11:31:34 瀏覽:153
l2tp的vpn伺服器搭建 發布:2025-07-26 11:17:19 瀏覽:963
網站如何發布到伺服器 發布:2025-07-26 11:14:00 瀏覽:583
介面不同路由器如何配置 發布:2025-07-26 11:02:06 瀏覽:735
access資料庫是型資料庫 發布:2025-07-26 11:01:56 瀏覽:249
pythonrodeo 發布:2025-07-26 11:01:11 瀏覽:769
日本訪問俄羅斯 發布:2025-07-26 11:01:10 瀏覽:398
我的世界推薦伺服器無等級 發布:2025-07-26 11:01:05 瀏覽:428
安卓能做什麼好 發布:2025-07-26 11:01:03 瀏覽:215