跳到主要內容

顯示佔用記憶體的Process

1.
ps -A --sort -rss -o comm,pmem | head -n 11


2.
while read command percent rss; do if [[ "${command}" != "COMMAND" ]]; then rss="$(bc <<< "scale=2;${rss}/1024")"; fi; printf "%-26s%-8s%s\n" "${command}" "${percent}" "${rss}"; done < <(ps -A --sort -rss -o comm,pmem,rss | head -n 11)


3. 用Shell Script 顯示

#################################################################
# Developed by Ashok Kumar
# 1:50 PM Monday, February 04, 2008
# Edit by Gordon 06:55 PM, Tuesday, December 12, 2011
#################################################################
TOT=`cat /proc/meminfo | grep MemTotal: | awk '{print $2}'`
USED=`cat /proc/meminfo | grep Active: | awk '{print $2}'`
FREE=$[$TOT - $USED ]
LOG=/tmp/mem_monitor.log
echo > $LOG
SEND=0
HOST="$(hostname)"
if [ "$USED" -gt "0" ]; then
   USEDPERC=$[$USED * 100 / $TOT]
  #echo "Used Percentage : $USEDPERC %"
  TOTMB=$[$TOT / 1024 ]
  USEDMB=$[$USED / 1024 ]
  FREEMB=$[$TOTMB - $USEDMB ]
  ##echo "Used Percentage : $USEDPERC"
  if [ "$USEDPERC" -gt "80" ]; then
     SEND=1
     STATUS="Warning"
     echo "------------------------------------------------------------------" >> $LOG
     echo "$HOST Memory Status" >> $LOG
     echo "------------------------------------------------------------------" >> $LOG
     echo "Total Memory (MB) : $TOTMB" >> $LOG
     echo "Used Memory (MB) : $USEDMB" >> $LOG
     echo "Free Memory (MB) : $FREEMB" >> $LOG
     echo "Used Percentage : $USEDPERC %" >> $LOG
     echo "------------------------------------------------------------------" >> $LOG
     if [ "$USEDPERC" -gt "95" ]; then
        STATUS="Critical"
     fi
   else

     echo "------------------------------------------------------------------"
     echo "$HOST Memory Status"
     echo "------------------------------------------------------------------"

     echo "Total Memory (MB) : $TOTMB"
     echo "Used Memory (MB) : $USEDMB"
     echo "Free Memory (MB) : $FREEMB"
     echo "Used Percentage : $USEDPERC %"
     echo ""
   fi

fi
if [ "$FREEMB" -eq "0" ]; then
   SEND=1
   STATUS="Fatal"
   echo "------------------------------------------------------------------" >> $LOG
   echo " No free memory available in " `hostname` >>$LOG
   echo "------------------------------------------------------------------" >> $LOG
fi

留言

這個網誌中的熱門文章

解決Apache 2.2, 關於HTTPS 之下使用PROXY 面對的 proxy server received an invalid response from an upstream server 以及 proxy: pass request body failed 的問題

修改以下 (proxy 以及 從proxy 接收的server): httpd.conf: ----------- 在 Include conf.d/*.conf 的前面加入以下: LimitRequestBody 2147483647  #2Gb Timeout 24000 ProxyTimeout 24000 ProxyBadHeader Ignore ssl.conf ---------- 在各個virtualhost 裡加入以下:     SSLEngine on     SSLProxyEngine on     SSLProxyVerify none     SSLProxyCheckPeerCN off     #SSLProxyCheckPeerName off     SSLProxyProtocol +SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 以下這個只在proxy server 裡的virtualhost 設定     ProxyPass / https://REMOTE_HOST:443/ retry=1 acquire=3000 timeout=3600 Keepalive=On 

解決CentOS 8 的 failed to set locale defaulting to c.utf-8 的問題

這原因是沒有安裝好支援的語言與字型, 特別是UTF8 並沒有被安裝到 因此使用以下指令確認 localedef -i en_US -f UTF-8 en_US.UTF-8 假如出現 "[error] character map file `UTF-8' not found: No such file or directory" 或者 [error] default character map file 'ANSI_X3.4-1968' not found : No such file or directory 那就安裝UTF8 吧 yum whatprovides "*/UTF-8.gz" 如果找到的話 "UTF-8.gz" 的話 yum install "*/UTF-8.gz" -y 再執行一次: localedef -i en_US -f UTF-8 en_US.UTF-8