查看每个用户linux内存,编写shell脚本查看linux当前各用户的cpu和memory消耗比例

为了方便自己查看centOS上的各用户cpu和内存的使用比例,写了shell脚本。

viewUsage.sh

#!/bin/bash

#

# view the cpu and memory consumption of each user at the current time.

# chenqy 20101126 v0.9

# chenqy 20110115 v1.0 :

# added the sort option: --reverse --mem --cpu

function viewconsumption {

ps aux | grep -v 'PID' | sed 's/[ ][ ][ ]*/ /g' | cut -d " " -f1-4 | sort | awk '

BEGIN{

userid = "None"

cpuUsage = 0

memUsage = 0

}

{

if(userid == $1) {

cpuUsage += $3

memUsage += $4

} else {

if (userid != "None") {

printf("%s %4.1f %4.1f/n", userid, cpuUsage, memUsage)

}

userid = $1

cpuUsage = $3

memUsage = $4

}

}'

}

function printResult {

awk '

BEGIN {

postcolor = "/033[0;39m"

}

{

userid = $1

cpuUsage = $2

memUsage = $3

if(cpuUsage >= 10 || memUsage >= 10) {

# red color

precolor = "/033[0;31m"

}

printf("%s%s /033[12G%4.1f /033[20G%4.1f%s/n", precolor, userid, cpuUsage, memUsage, postcolor)

precolor = "/033[0;39m"

}'

}

echo -e "USER /033[12G%CPU /033[20G%MEM"

echo "--------- ------ -----"

if [ "$1" == "--mem" ];then

key="-k 3 -n"

elif [ "$1" == "--cpu" ];then

key="-k 2 -n"

fi

if [ "$1" == "--reverse" -o "$2" == "--reverse" ];then

reverse="-r"

fi

viewconsumption|sed 's/[ ][ ][ ]*/ /g'|sort $key $reverse|printResult

使用说明:

#以下输出均为“aix.unix-center.net”上的运行结果

1. 不使用参数,直接调用,默认排序为按user名升序,cpu或mem的使用率超过10%时以红色字体显示:

#提示:大写字母开头会排在小写字母开头前面

tsingyee@aix bin# ./viewUsage.sh

USER %CPU %MEM

--------- ------ -----

Michelle 48.2 0.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

bookses 0.0 0.0

centos1 0.0 0.0

coolryx 0.0 0.0

daemon 0.0 0.0

dddfr 0.0 0.0

erryqj 0.0 0.0

firstdre 0.0 0.0

freebsdj 0.0 0.0

freshman 0.0 0.0

geepz 0.0 0.0

hanshanz 0.0 0.0

he_pdz 0.0 0.0

huangxue 0.0 0.0

idlanhy 0.0 0.0

jerry168 0.0 0.0

junjieai 0.0 0.0

junonly 0.0 0.0

lichd 0.0 0.0

lqjboy 0.0 0.0

markcool 0.0 0.0

mxdu 0.0 0.0

nanman 0.0 0.0

philippe 0.0 0.0

piaoye06 0.0 0.0

root 14.1 2.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

spectre 0.0 0.0

thorqq 0.0 0.0

tsingyee 0.0 0.0

uingei 0.0 0.0

zhangdon 0.0 0.0

zhangwb8 0.0 0.0

zte_zxr1 0.0 0.0

tsingyee@aix bin#

2. 使用--reverse参数,使用user名反向排序:

tsingyee@aix bin# ./viewUsage.sh --reverse

USER %CPU %MEM

--------- ------ -----

zte_zxr1 0.0 0.0

zhqing21 0.0 0.0

zhangwb8 0.0 0.0

zhangdon 0.0 0.0

uingei 0.0 0.0

tsingyee 0.0 0.0

thorqq 0.0 0.0

spectre 0.0 0.0

root 14.1 2.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

piaoye06 0.0 0.0

philippe 0.0 0.0

nanman 0.0 0.0

mxdu 0.0 0.0

markcool 0.0 0.0

lqjboy 0.0 0.0

linta 0.0 0.0

lichd 0.0 0.0

junonly 0.0 0.0

junjieai 0.0 0.0

jerry168 0.0 0.0

idlanhy 0.0 0.0

huangxue 0.0 0.0

he_pdz 0.0 0.0

geepz 0.0 0.0

freshman 0.0 0.0

freebsdj 0.0 0.0

firstdre 0.0 0.0

erryqj 0.0 0.0

dddfr 0.0 0.0

daemon 0.0 0.0

coolryx 0.0 0.0

centos1 0.0 0.0

bookses 0.0 0.0

Michelle 48.2 0.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

tsingyee@aix bin#

3. 使用--cpu,按cpu使用率排序(--reverse可以反向排序)

tsingyee@aix bin# ./viewUsage.sh --cpu --reverse

USER %CPU %MEM

--------- ------ -----

Michelle 48.2 0.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

root 14.1 2.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

zte_zxr1 0.0 0.0

zhqing21 0.0 0.0

zhanzhiy 0.0 0.0

zhangwb8 0.0 0.0

zhangdon 0.0 0.0

uingei 0.0 0.0

tsingyee 0.0 0.0

thorqq 0.0 0.0

spectre 0.0 0.0

piaoye06 0.0 0.0

philippe 0.0 0.0

nanman 0.0 0.0

mxdu 0.0 0.0

markcool 0.0 0.0

lqjboy 0.0 0.0

linta 0.0 0.0

lichd 0.0 0.0

junonly 0.0 0.0

jerry168 0.0 0.0

idlanhy 0.0 0.0

huangxue 0.0 0.0

he_pdz 0.0 0.0

geepz 0.0 0.0

freshman 0.0 0.0

freebsdj 0.0 0.0

firstdre 0.0 0.0

erryqj 0.0 0.0

dddfr 0.0 0.0

daemon 0.0 0.0

coolryx 0.0 0.0

centos1 0.0 0.0

bookses 0.0 0.0

tsingyee@aix bin#

4.使用--mem,按memory(内存)使用率排序(--reverse可以反向排序)

tsingyee@aix bin# ./viewUsage.sh --mem --reverse

USER %CPU %MEM

--------- ------ -----

root 14.1 2.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

zte_zxr1 0.0 0.0

zhqing21 0.0 0.0

zhanzhiy 0.0 0.0

zhangwb8 0.0 0.0

zhangdon 0.0 0.0

uingei 0.0 0.0

tsingyee 0.0 0.0

thorqq 0.0 0.0

spectre 0.0 0.0

piaoye06 0.0 0.0

philippe 0.0 0.0

nanman 0.0 0.0

mxdu 0.0 0.0

markcool 0.0 0.0

lqjboy 0.0 0.0

linta 0.0 0.0

lichd 0.0 0.0

junonly 0.0 0.0

jerry168 0.0 0.0

idlanhy 0.0 0.0

huangxue 0.0 0.0

he_pdz 0.0 0.0

geepz 0.0 0.0

freshman 0.0 0.0

freebsdj 0.0 0.0

firstdre 0.0 0.0

erryqj 0.0 0.0

dddfr 0.0 0.0

daemon 0.0 0.0

coolryx 0.0 0.0

centos1 0.0 0.0

bookses 0.0 0.0

Michelle 48.2 0.0 <=这条记录为红色字体(cpu或mem的使用率超过10%)

tsingyee@aix bin#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值