當前位置:首頁 » 編程軟體 » 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}'

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:587
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:882
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:575
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:678
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1006
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:251
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:706