最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用shell獲取進程名的內存以及CPU利用率

 更新時間:2022年04月17日 16:12:51   作者:飛鳥真人  
最近工作中遇到一個需求,需要找出占用高的進程,所以下面這篇文章主要給大家介紹了關于如何使用shell獲取進程名的內存以及CPU利用率的相關資料,需要的朋友可以參考下

原理:

1)使用ps得到進程名的所有進程pid

ps -C process_name  -o pid=

2) 使用 /proc/$pid/status獲得內存的占用,并循環(huán)求和;

3)使用top獲取相關pid的cpu列表,并過濾第10列,求和。

在ubuntu18.04和centos7.9測試:

# !/bin/bash
# author:robin
# usage: bash proc.sh openresty
if [ -e cpu_mr.log ]
then
    rm -f cpu_mr.log
fi
 
pid_array=(122)
 
name=$1
if [ -z "$name" ] 
then
    name="openresty"
fi
#echo $name
 
#cpucmd: '-p 125 -p 235 -p 568'
cpucmd=''
i=0
 
#get all pid by proName
funGetPids(){
    tempstr=`ps -C $name -o pid=`
    #echo $tempstr
 
    
    for line in $tempstr
    do
        pid_array[$i]=$line
        #echo ${pid_array[$i]}
        let "i++"
        cpucmd=${cpucmd}" -p $line "
    done 
    return
}
funGetPids
 
if [ $i -eq 0 ] 
then
echo "{\"sum_vmrss\": -1,  \"sum_cpu\": -1 }"
exit 0
fi
 
sum_vmrss=0
sum_cpu=0.0
#compute mem sum
for pid in  ${pid_array[@]}
do
    vmrss_temp=`cat /proc/$pid/status|grep -e VmRSS|tr -d [:blank:][:alpha:][:]`
    #echo 'vmrss_temp= '  $vmrss_temp
    sum_vmrss=`expr $sum_vmrss + $vmrss_temp`
done
 
#echo $cpucmd
tempstr=`top -n 1 $cpucmd |tail -n +8 | awk '{print $10}'`
 
for line in $tempstr
do
#echo $line
sum_cpu=$(echo "$sum_cpu+$line"|bc)
done
 
# echo "-------------------"
echo "{\"sum_vmrss\": $sum_vmrss,  \"sum_cpu\": $sum_cpu }"
 
exit

使用方法:

bash proc.sh  gnome-shell

輸出json:

{"sum_vmrss": 423712,  "sum_cpu": 6.7 }

總結

到此這篇關于如何使用shell獲取進程名的內存以及CPU利用率的文章就介紹到這了,更多相關shell獲取進程名內存內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • linux系統(tǒng)mysql自動備份并使用ftp上傳的方法

    linux系統(tǒng)mysql自動備份并使用ftp上傳的方法

    這篇文章主要介紹了linux系統(tǒng)自動導出mysql備份,并上傳到指定ftp,還可以刪除舊的備份文件,大家參考使用吧
    2014-01-01
  • 對用戶輸入的判斷的shell實現(xiàn)代碼

    對用戶輸入的判斷的shell實現(xiàn)代碼

    今天的案例是將 對用戶輸入的判斷的shell腳本,需要的朋友可以參考下
    2016-08-08
  • Linux?ps命令詳解及Linux查看進程的操作方法

    Linux?ps命令詳解及Linux查看進程的操作方法

    這篇文章主要介紹了Linux?ps命令詳解,Linux查看進程的操作方法,ps命令常用的方式有三種,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Linux下Oracle歸檔日志自動清理腳本代碼(sh)

    Linux下Oracle歸檔日志自動清理腳本代碼(sh)

    將以下代碼保存為.sh文件,并放到crontab里就可以實現(xiàn)自動清理
    2013-01-01
  • journalctl 命令使用小結

    journalctl 命令使用小結

    journalctl命令是Linux系統(tǒng)中一個用于查詢和管理系統(tǒng)日志的命令行工具,它基于systemd的日志守護進程systemd-journald的功能,這篇文章主要介紹了journalctl 命令使用總結,需要的朋友可以參考下
    2024-06-06
  • Putty實現(xiàn)自動登陸遠程Linux主機的方法

    Putty實現(xiàn)自動登陸遠程Linux主機的方法

    這篇文章主要介紹了Putty實現(xiàn)自動登陸遠程Linux主機的方法,本文講解的是使用公鑰和密鑰方式實現(xiàn)自動登錄,需要的朋友可以參考下
    2015-04-04
  • Linux shell腳本的建立與執(zhí)行

    Linux shell腳本的建立與執(zhí)行

    今天小編就為大家分享一篇關于Linux shell腳本的建立與執(zhí)行,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • shell中無法使用cd命令的原因及解決方法

    shell中無法使用cd命令的原因及解決方法

    本文主要介紹了shell中無法使用cd命令的原因及解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Shell腳本四則運算符號實用的技巧和注意事項

    Shell腳本四則運算符號實用的技巧和注意事項

    這篇文章主要介紹了Shell腳本四則運算符號實用的技巧和注意事項,文中通過示例代碼介紹了基本的算術運算符號(加、減、乘、除)、浮點數(shù)運算(使用bc命令),以及自增、自減和復合賦值運算符的使用技巧,需要的朋友可以參考下
    2025-04-04
  • 自動生成linux網(wǎng)卡配置腳本分享

    自動生成linux網(wǎng)卡配置腳本分享

    這篇文章主要介紹了自動生成linux網(wǎng)卡配置的腳本,因為Linux虛擬機在復制時候網(wǎng)卡信息會更新,所以導致需要重新配置網(wǎng)卡。本腳本功能,第一次添加網(wǎng)卡后,啟動虛擬機,然后運行腳本(可以寫在啟動腳步中),然后根據(jù)ifconfig -a 的信息來創(chuàng)建ifcfg-ethX的配置文件或者修改對應的ifcfg-ethX的mac
    2014-03-03

最新評論

页游| 杭锦旗| 肥乡县| 宁晋县| 宣武区| 阳谷县| 调兵山市| 云梦县| 三台县| 恭城| 英山县| 镇原县| 图片| 台东市| 繁昌县| 九龙城区| 环江| 福州市| 平潭县| 大庆市| 建德市| 八宿县| 平江县| 久治县| 自治县| 灵石县| 桃园县| 博罗县| 同心县| 乌拉特后旗| 康平县| 新闻| 莱阳市| 林西县| 龙里县| 京山县| 彰化市| 禄丰县| 惠水县| 江门市| 佛教|