linuxcpu監控腳本
① linux運用shell腳本監控所有進程佔用cpu和內存到指定值就報警輸出內容
命名行下輸入python
然後寫個死循環:
while True:
print "i want to exaust cpu"
試試唄,水平有限。
應該會提高,但不知道能提到多少。
② 在linux 下怎麼查看伺服器的cpu和內存的硬體信息
可以按照如下方式進行操作:
一、查看cpu總個數方法:
1、首先執行top命令,如下圖中內容所表示。
2、在top命令的顯示界面,按數字鍵1,即可查看到當前系統中的總cpu數,如下圖中內容所表示。
二、查看總內存的方法:
1、free命令主要用於顯示內存數量,如下圖中內容所表示。
2、一般使用free命令的-h參數,更人性化的顯示,如下圖中內容所表示。
(2)linuxcpu監控腳本擴展閱讀
linux通用命令:
1、date:
2、stty-a:可以查看或者列印控制字元(Ctrl-C,Ctrl-D,Ctrl-Z等)
3、passwd:(用passwd-h查看)
4、logout,login:登錄shell的登錄和注銷命令
5、pwd:printworkingdirectory
6、more,less,headtail:顯示或部分顯示文件內容.
7、lp/lpstat/cancel,lpr/lpq/lprm:列印文件.
8、更改文件許可權:chmo+x...
9、刪除非空目錄:rm-frdir
10、拷貝目錄:cp-Rdir
③ 如何利用shell腳本監控伺服器溫度
統:centos 5.5 1.監控伺服器狀態腳本內容:
01 #!/bin/bash 02
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
03
04 cpu_num=`grep -c 'model name' /proc/cpuinfo` 05
06 load_15=`uptime | awk '{print $NF}'` 07 08
average_load=`echo "scale=2;a=$load_15/$cpu_num;if(length(a)==scale(a)) print 0;print a" | bc`
09
10 average_int=`echo $average_load | cut -f 1 -d "."` 11
12 load_warn=0.70 13
14 if (($average_int > 0)); then
15 echo "$IP伺服器15分鍾的系統平均負載為$average_load,超過警
戒值1.0,請立即處理!!!" | mailx -s "$IP 伺服器系統負載嚴重告警!!!
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
" [email protected] 16 else 17
18 load_now=`expr $average_load \> $load_warn` 19
20 if (($load_now == 1)); then
21 echo "$IP伺服器15分鍾的系統平均負載達到 $average_load,超過警戒值0.70,請及時處理。" | mailx -s "$IP 伺服器系統負載告警
" [email protected] 22 fi 23 24 fi 25
26 cpu_idle=`top -b -n 1 | grep Cpu | awk '{print $5}' | cut -f 1 -d "."` 27
28 if (($cpu_idle < 20)); then
29
echo "$IP伺服器cpu剩餘$cpu_idle%,使用率已經超過80%,請及時
處理。" | mailx -s"$IP 伺服器CPU告警" [email protected]
30 fi 31
32 swap_total=`free -m | grep Swap | awk '{print $2}'` 33
猜你喜歡租賃一體電腦dell電腦特約維修蘋果肌注射後休息蘋果店怎麼分期付款蘋果6s64g分期付款蘋果6s零首付分期付款加固筆記本品牌孩子 培訓 電腦手機微店 app蘋果6s5.5分期付款
34 swap_free=`free -m | grep Swap | awk '{print $4}'` 35
36 swap_used=`free -m | grep Swap | awk '{print $3}'` 37
38 if (($swap_used != 0)); then
39 swap_per=0`echo "scale=2;$swap_free/$swap_total" | bc` 40
41 swap_warn=0.20 42
43 swap_now=`expr $swap_per \> $swap_warn` 44
45 if (($swap_now == 0)); then
46 echo "$IP伺服器swap交換分區只剩下 $swap_free M 未使用,剩餘不足20%,使用率已經超過80%,請及時處理。" | mailx -s "$IP 伺服器
內存告警" [email protected] 47 fi 48 49 fi 50
51
#disk_sda=`df -h | grep /dev/sda3 | awk '{print $5}' | cut -f 1 -d "%"`
52 disk_sda=`df -Ph |grep /dev/mapper/VolGroup00-LogVol00|awk '{print
④ linux下如何實時監控每個進程的CPU和內存使用量,請有關有經驗的人說說啊給分。
TOP命令,不能只監控進程的CPU和內存的使用量,並且也不能看到使用量總和,還是用腳本吧,類型這樣:
ps -aux|grep java|awk '{print $6}'|awk 'BEGIN{SUM0=0}{SUM0+=$1} END{print SUM0/1024}'
就可以,CPU同樣。
⑤ linux中如何寫個腳本讓系統自動定時記錄cup和內存使用率
#! /bin/bash
echo -n "PidName " > /root/script/pid.f
echo
"MeMery "穗鬧 >> /root/script/pid.f
PIDPATH=/proc/
TOTLE=0
cd
$PIDPATH
DOC=`ls`
for DOCNAME in $DOC
do
if [ -d
$DOCNAME ]; then
cd $DOCNAME
if [ -f status
];then
MEMERY=`grep VmRSS status | awk -F':' '{print $2}'乎顫 | awk
'{print $1}'`
PIDNAME=`grep Name status | awk -F':' '{print
$2}'`
if [ $MEMERY ]; then
echo -n $PIDNAME
>> /猜頃罩root/script/pid.f
echo -n " " >>
/root/script/pid.f
echo $MEMERY >>
/root/script/pid.f
TOTLE=`expr $TOTLE +
$MEMERY`
cd ..
else
cd
..
fi
else
cd
..
fi
fi
done
TOTLE=`expr $TOTLE /
1024`
echo "TOTLE USERD: $TOTLE MB" >> /root/script/pid.f
cat
/root/script/pid.f
⑥ linux寫一個查看指定進程佔用CPU和內存情況的腳本
1、查看物理CPU數
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
1
2、查看邏輯CPU數
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "processor"|wc -l
4
3、查看CPU幾核(即核數)
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "cores"|uniq
cpu cores : 4
4、查看CPU主頻
[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep MHz|uniq
cpu MHz : 2499.982
5、前操作系統內核信息
[root@MysqlCluster01 ~]# uname -a
Linux MysqlCluster01 2.6.32-431.20.3.el6.x86_64 #1 SMP Thu Jun 19 21:14:45 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
6、前操作系統發行版信息
[root@MysqlCluster01 ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
7、內存使用情況
[root@MysqlCluster01 ~]# free -m
total used free shared buffers cached
Mem: 7863 2738 5125 0 141 835
-/+ buffers/cache: 1761 6102
Swap: 3967 0 3967
⑦ linux下如何監聽進程
一、supervise
Supervise是daemontools的一個工具,可以用來監控管理unix下的應用程序運行情況,在應用程序出現異常時,supervise可以重新啟動指定程序。
使用:
mkdir test
cd test
vim run 寫入希望執行的操作
supervise test (注意這里是的參數是run文件上層的文件夾,改變run的為可執行 chmod +x run)
二、monit
monit是一個小型的開放源碼工具來管理和監控Unix系統。Monit可以自動維護進程,及時避免進程異常退出等產生的問題。
系統: monit可以監控問題的發生,包括進程狀態、系統cpu負載、內存佔用情況等,例如當apache服務的cpu負載以及內存閘弄情況過高時候,它會重啟apache服務。
進程: monit可以監控守護進程,包括系統進程。例如當某個進行down掉,它會自動恢復重啟該進程。
文件系統:Monit可以監控本地文件、目錄、文件系統的變化,包括時間戳、校驗值、大小的變化。例如,可以監控文件sha1以及md5的值,來監控文件是否發生變化。
網路:monit可以監控網路連接,支持TCP、UDP、Unix domain sockets以及HTTP、SMTP等。
定時腳本:monit可以用來定時測試程序和腳本,獲取程序輸出結果,進而判斷是否成功或其他情況。
安裝:
sudo apt-get install monit
編輯配置:
sudo vim /etc/monit/monitrc
啟動、停止、重啟:
sudo /etc/init.d/monit start
sudo /etc/init.d/monit stop
sudo /etc/init.d/monit restart
設置頁面監控狀態:
set httpd port 2812 and
allow 0.0.0.0/0.0.0.0
allow localhost
增加監控:
需要注意的是,這里需要添加start和stop,缺一個都是不行的
1.根據程序名稱來監控
check process test with MATCHING test.py
start program = "/home/yxd/test.py"
stop program = "xxxxx"
2.根據pid監控
check process apache with pidfile /var/run/httpd.pid
start program = "/etc/init.d/rcWebServer.sh start https"
stop program = "/etc/init.d/rcWebServer.sh stop https"
if changed pid then aler
參考:用monit監控系統關鍵進程
supervisord
Supervisor是一個C/S系統,它可以在類unix操作系統讓用戶來監視和控制後台服務進程的數量。它是由python編寫的,常用於進程異常退出的重啟保護。
安裝:
pip install supervisor
查看配置文件:
echo_supervisord_conf
從該命令的結果中,可以看到各個模塊的配置信息。
創建配置文件:
echo_supervisord_conf > /etc/supervisord.conf
配置應用:
[program:test]
command=python /root/test_supervisor.py
process_name=%(program_name)s
stdout_logfile=/root/test.log
stderr_logfile=/root/test.log
保存,啟動:
/usr/bin/supervisord -c /etc/supervisord.conf
⑧ 如何做一個linux查看cpu使用率的腳本
Linux性能監控工具 - Nmon安裝及簡介
tar.gz安裝包安裝方式:
1)用root用戶登錄到系統中;
2)建目錄:#mkdir /nmon,作為Nmon的安裝目錄;
3)把nmon_linux_14g.tar.gz用ftp上傳到/nmon,或者通過其他介質拷貝到/nmon目錄中;
4)進入./nmon目錄下,cd ./nmon;
5)解壓縮上傳的壓縮包,tar -xf nmon_linux_14g.tar.gz;
6)執行以下命令進行安裝:
6.1) cp nmon_linux_x86_64 nmon;
6.2) cp nmon /bin/nmon
6.3) cp nmon /usr/bin/nmon
6.4) cp nmon /usr/local/bin/nmon
7)此時安裝目錄下回出現nmon文件,執行授權命令:#chmod +x nmon,完成安裝。
【簡介】:
nmon是一種在AIX與各種Linux操作系統上廣泛使用的監控與分析工具,相對於其它一些系統資源監控工具來說,nmon所記錄的信息是比較全面的,它能在系統運行過程中實時地捕捉系統資源的使用情況,並且能輸出結果到文件中,然後通過nmon_analyzer工具產生數據文件與圖形化結果。
nmon所記錄的數據包含以下一些方面(也是我們在尋找問題過程中所關注的資源點):
cpu佔用率
內存使用情況
磁碟I/O速度、傳輸和讀寫比率
文件系統的使用率
網路I/O速度、傳輸和讀寫比率、錯誤統計率與傳輸包的大小
消耗資源最多的進程
計算機詳細信息和資源
頁面空間和頁面I/O速度
用戶自定義的磁碟組
網路文件系統
另外在AIX操作系統上,nmon還能監控到其他的一些信息,如非同步I/O等。