导语
给定服务名称,查看服务对应的进程占用的内存情况
*** 用法 ***
lc_pmem service-name
*** 举例 ***
root@pts/0 $ lc_pmem mysql PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND25096 mysql 20 0 2875808 666836 7716 S 12.5 17.2 104:58.33 mysqld24469 root 20 0 113248 1568 1272 S 0.0 0.0 0:00.17 mysqld_safe685961216
*** 脚本***
#!/usr/bin/env bash# -*- coding: utf-8 -*-#Filename: commFuncs.sh#Author: Liuchao#Email: 137642091@qq.com#Date: 2016-06-16#Desc: 常用工具封装#source /devOps/shell/common/functionslc_pmem(){ pname="$1" ## list all [${pname}] related top -n1 -b | head -n7 | sed '1,6d' && top -n1 -b | sed '1,7d' | grep --color=auto $1; ## summary the total memory about [${pname}] ## 单位换成字节,方便zabbix监控 ps aux | grep --color=auto $1 | grep --color=auto -v grep | awk -F " " '{ sum += $6 } END { print sum*1024 }' ## output with MB # ps aux | grep --color=auto $1 | grep --color=auto -v grep | awk -F " " '{ sum += $6 } END { printf "Total Memory Usage: %.1f MB\n", sum/1024 }'}## call functionif [ $# -eq 1 ]then lc_pmem "$1"else uLog "Please enter program-name like:" uLog "\tlc_pmem mysql"fi
作者:全栈运维
链接:https://www.jianshu.com/p/cabdf9b7be26