码迷,mamicode.com
首页 > 系统相关 > 详细

查找内存、CPU占用较高的进程脚本

时间:2016-10-13 15:15:30      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:cpu使用率、内存

#!/bin/bash

ps -e -o ‘rsz,pid,‘ | sort -nrk1 | head -5 > /tmp/np.txt

ps -e -o ‘pcpu,pid‘ | sort -nrk1 | head -5 > /tmp/up.txt


#查询内存使用情况

echo "========================================================================================================="

echo "==========================="

echo "内存占用排名前五位的应用为:"

echo "==========================="

echo -e ‘\n‘

cat /tmp/np.txt | while read NLINE

do

    echo "应用为:"

    ps -ef |grep `echo $NLINE | awk ‘{print $2}‘` | grep -v "grep"

    echo "占用内存为(G):"

    NPN1=`echo $NLINE | awk ‘{print $1}‘`

    NPN2=1048576

    awk ‘BEGIN{printf "%.2f\n",‘$NPN1‘/‘$NPN2‘}‘

    echo -e ‘\n‘

done

echo "========================================================================================================="


#查询CPU使用率

echo -e ‘\n‘

echo "========================================================================================================="

echo "============================"

echo "CPU使用率排名前五位的应用为:"

echo "============================"

cat /tmp/up.txt | while read ULINE

do

    echo "应用为:"

    ps -ef |grep `echo $ULINE | awk ‘{print $2}‘` | grep -v "grep"

    echo "cup使用率为:"

    echo $ULINE | awk ‘{print $1}‘

    echo -e ‘\n‘

done

echo "========================================================================================================="



#查询内存和CPU使用率都较高的应用

echo -e ‘\n‘

echo "========================================================================================================="

echo "============================="

echo "内存和CPU使用率都较高的应用:"

echo "============================="

echo -e ‘\n‘

cat /tmp/np.txt | while read NULINE

do

    if [ "$(find /tmp/up.txt | xargs grep `echo $NULINE | awk ‘{print $2}‘`)" != "" ];then 

    echo "应用为:"

    ps -ef |grep `echo $NULINE | awk ‘{print $2}‘` | grep -v "grep"

    echo -e ‘\n‘

    echo "占用内存为(G):"

    NPN1=`echo $NULINE | awk ‘{print $1}‘`

    NPN2=1048576

    awk ‘BEGIN{printf "%.2f\n",‘$NPN1‘/‘$NPN2‘}‘

    echo -e ‘\n‘

    echo "cup使用率为:"

    find /tmp/up.txt| xargs grep `echo $NULINE | awk ‘{print $2}‘`| awk ‘{print $1}‘

    echo -e ‘\n‘

    fi

done

echo "========================================================================================================="


本文出自 “运维之道” 博客,请务必保留此出处http://lrtao2010.blog.51cto.com/10425744/1861450

查找内存、CPU占用较高的进程脚本

标签:cpu使用率、内存

原文地址:http://lrtao2010.blog.51cto.com/10425744/1861450

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!