Shell script - 查看進程占用內存情況

導語

給定服務名稱,查看服務對應的進程占用的內存情況

*** 用法 ***

lc_pmem service-name

*** 舉例 ***

root@pts/0 $ lc_pmem mysql
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
25096 mysql     20   0 2875808 666836   7716 S  12.5 17.2 104:58.33 mysqld
24469 root      20   0  113248   1568   1272 S   0.0  0.0   0:00.17 mysqld_safe
685961216

*** 腳本***

#!/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/functions

lc_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 function
if [ $# -eq  1 ]
then
    lc_pmem "$1"
else
    uLog "Please enter program-name like:"
    uLog "\tlc_pmem mysql"
fi
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數據革命閱讀 12,224評論 2 33
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,292評論 25 708
  • 兩個男人,當聽說離生命的結束最多還有半年或一年時,他們沉默了,開始策劃遺愿清單,兩個垂危的老人,選擇更刺激的活動,...
    心我聽你說閱讀 298評論 0 0
  • 對一個殘疾人來說,是很不方便的,而在生活上也會有很大的困難,所以我們要盡自己的努力來給以她們幫助。 今天2017年...
    七彩夕陽閱讀 416評論 0 0