關于 進程和性能監控

    
    Linux系統狀態的查看及管理工具:

    pstree, ps, pidof, pgrep, top, htop, glance,
pmap, vmstat, dstat, kill, pkill, job, bg, fg, nohup

pstree命令:
pstree-display a tree of processes
ps-report a snapshot of
the current processes

(process state)簡稱ps 查看當前系統的終端
Linux系統各進程的相關信息均保存在/proc/PID目錄下的各文件中  

適用ps來查看進程信息
ps [OPTION]…
支持三種選項:
            UNIX選項如-A
-e
            BSD選項如a
            GUN選項如–help

默認顯示當前終端中的進程
    a選項包括所有終端中的進程
    x選項包括不鏈接終端的進程
   
u選項顯示進程所有者的信息
    f選項顯示進程的父進程
    可以多項組合在一起用 例如 ps axuf
    o屬性…
選項顯示定制的信息: o必須緊跟在后面跟屬性 例如 ps axo …
   
pid、comm、%cpu、%mem、state、tty、euser、ruser

[root@Compro ~]# ps xao
pid,comm,state
STAT:進程狀態
R:running                   運行
S:
interruptable sleeping    可中斷的睡眠狀態
D: uninterruptable sleeping 
不間斷的睡沒狀態
T: stopped                   停止的狀態
Z: zombie                   
僵尸狀態
+: 前臺進程    
l: 多線程進程
N:低優先級進程
<: 高優先級進程
s: session
leader,會話(子進程)發起者

常用組合:-ef
[root@Compro ~]# ps -e: 顯示所有進程
[root@Compro ~]# ps -f:
顯示完整格式程序信息
常用組合:-eFH
[root@Compro ~]# ps -F: 顯示更完整格式的進程信息
[root@Compro
~]# ps -H: 以進程層級格式顯示進程相關信息
常用組合:自定義
[root@Compro ~]# ps
-eopid,tid,class,rtprio,ni,pri,psr,pcpu,stat,comm
[root@Compro ~]# ps
axostat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm

pri: priority,優先級  
psr: processor, CPU編號
rtprio:
實時優先級
[root@Compro ~]# ps axo pid,ni,comm,psi
[root@Compro ~]# ps axo
pid,ni,comm,psr
[root@Compro ~]# ps axo pid,ni,comm,rtprio

 

系統監控工具
glances命令:EPEL源
首先這個命令是要yum安裝的系統默認沒有

這個是個人所在環境,參考而已
[root@Compro ~]# vim /etc/yum.repos.d/base.repo

[base]
baseurl=http://10.1.0.1/cobbler/ks_mirror/7/
enabled=0
gpgcheck=0

[cdrom]
baseurl=file:///mnt/cdrom/
gpgcheck=0

[epel]
baseurl=http://10.1.0.1/fedora-epel/7/x86_64/
gpgcheck=0

[root@Compro ~]# yum -y install glances

===================================================================

[root@Compro ~]# glances
內建命令:h查看幫助
a Sort processes
automatically     l Show/hide logs
c Sort processes by CPU%           b Bytes
or bits for network I/O
m Sort processes by MEM%           w Delete warning
logs
p Sort processes by name           x Delete warning and critical
logs
iSort processes by I/O rate        1 Global CPU or per-CPU stats
d
Show/hide disk I/O stats         h Show/hide this help screen
f Show/hide
file system stats      t View network I/O as combination
n Show/hide network
stats          u View cumulative network I/O
s Show/hide sensors
stats          q Quit (Esc and Ctrl-C also work)
y Show/hide hddtempstats

常用選項:
-b: 以Byte為單位顯示網卡數據速率
-d: 關閉磁盤I/O模塊
-f /path/to/somefile:
設定輸入文件位置
-o {HTML|CSV}:輸出格式
-m: 禁用mount模塊
-n: 禁用網絡模塊
-t #:
延遲時間間隔
-1:每個CPU的相關數據單獨顯示

局域網內監控性能
服務服務模式:
glances -s -B IPADDR
IPADDR: 指明監聽的本機哪個地址模式:

我在CentOS7 運行一下命令
[root@Compro ~]# glances -s -B 10.1.7.65
Glances服務器啟動了
10.1.7.65:61209

客戶端模式:
glances -c IPADDR
IPADDR:要連入的服務器端地址

這時候在換作CentOS6 運行
[root@xiaomag ~]# glances -c 10.1.7.65

dstat命令:系統資源統計

先安裝
[root@xiaomag ~]# yum -y install dstat
[root@xiaomag ~]#
dstat        查看資源
[root@xiaomag ~]# dstat 1 10   查看1秒一次
定義10次退出
 dstat[-afv] [options..] [delay [count]]
-c: 顯示cpu相關信息
-C
#,#,…,total
-d: 顯示disk相關信息
-D
total,sda,sdb,…
-g:顯示page相關統計數據
-m: 顯示memory相關統計數據
-n:
顯示network相關統計數據
-p: 顯示process相關統計數據
-r: 顯示io請求相關的統計數據
-s:
顯示swapped相關的統計數據

–tcp
–udp
–unix
–raw
–socket
–ipc
–top-cpu:顯示最占用CPU的進程
–top-io:
顯示最占用io的進程
–top-mem: 顯示最占用內存的進程
–top-latency: 顯示延遲最大的進程

 

計劃任務

Linux任務計劃、周期性任務執行
未來的某時間執行一次任務
命令 :at
       batch
系統自行選擇空閑時間去執行此處指定的任務
周期性運行某任務

啟動服務
[root@Compro ~]# service atd status
[root@xiaomag ~]#
/etc/init.d/atd start
 
確保crond守護處于運行狀態:
CentOS 7:
systemctlstatus
crond
CentOS 6:
service
crondstatus
計劃周期性執行的任務提交給crond,到指定時間會自動運行
系統cron任務:系統維護作業
/etc/crontab
用戶cron任務:
crontab命令
日志:/var/log/cron

系統cron任務:/etc/crontab
注釋行以# 開頭
詳情參見man 5 crontab
# Example of job
definition:
# .—————-minute (0 -59)  分鐘
# | .————-hour
(0 -23)      小時
# | | .———-day of month (1 -31)  月
# | | |
.——-month (1 -12) OR jan,feb,mar,apr…  年
# | | | | .—-day of week (0
-6) 星期(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |  用戶      
運行的命令
# * * * * * user-name command to be
executed
例如:晚上9點10分運行echo命令;
10 21 * * *centos /bin/echo "Howdy!"

[root@Compro ~]# vim /etc/crontab   每分鐘執行一次 發郵件的形式
* * * * * makangbo echo
"hello"

 

練習

1、每4小時備份一次/etc目錄至/backup目錄中,保存的文件名稱格式為“etc-yyyy-mm-dd-HH.tar.xz”
[root@Compro
~]# crontab -e
0 4,* * *  root cp /etc/backup/etc-`date +\%F-\%H`.tar.xz
/etc/ &> dev/null
date
ls

2、每周2, 4,
7備份/var/log/messages文件至/logs目錄中,文件名形如“messages-yyyymmdd”
[root@Compro ~]#
crontab -e
* * * * 2,4,7/ root cp /var/log/messages /logs/messages-`date +\%F
-\%H` $> dev/null

3 、每兩小時取出當前系統/proc/meminfo文件中以S或M開頭的信息追加至/tmp/meminfo.txt文件中
* 2, * * *
root cat /proc/meminfo |grep "^[S,M]" &> /tmp/meminfo.txt

4、工作日時間,每10分鐘執行一次磁盤空間檢查,一旦發現任何分區利用率高于80%,就執行wall警報
[root@Compro ~]# vim
wall.sh
#!/bin/bash
DISK=df |grep ' ^/dev/sd.*' |tr -s' ' '%'|cut -d% -f5
|sort -n |tail -n1
[ $DISK -gt 80 ] && wall "disk will be full"

 

 

 

 

 

 

 

 

 

原創文章,作者:小馬哥,如若轉載,請注明出處:http://www.www58058.com/45530

(0)
小馬哥小馬哥
上一篇 2016-09-11
下一篇 2016-09-11

相關推薦

  • 關于VIM編輯器

                                                      &nbsp…

    系統運維 2016-08-11
  • 淺談篩選日志中的IP地址信息

    作為運維人員,經常會需要會對日志中的某些重要信息進行篩選,比如說ip等參數。 案例一:篩選出IP地址信息 日志信息如下: [root@C67-X64-A1 hanghang]# cat test.txt  Jul 13 08:13:09 localhost sshd[14678]…

    系統運維 2016-07-22
  • Ansible(From Wikipedia)

           Ansible 是一個免費的用于配置和管理計算機的的軟件平臺。它集成了軟件部署,ad hoc任務執行,和管理配置的功能。它依賴Python2.4之后的版本和通過SSH或者PowerShell管理節點。模塊工作在JSON格式,輸出信息可以被任何編程語言再次編寫。系統管理員可以使用YAML…

    Linux干貨 2015-11-18
  • 數據結構應用詳解-

    概述 最小生成樹——無向連通圖的所有生成樹中有一棵邊的權值總和最小的生成樹 拓撲排序 ——由偏序定義得到拓撲有序的操作便是拓撲排序。建立模型是AOV網 關鍵路徑——在AOE-網中有些活動可以并行地進行,所以完成工程的最短時間是從開始點到完成點的最長路徑的長度,路徑長度最長的路徑叫做關鍵路徑(Critical Path)。 最短路徑——最短路徑問題是…

    Linux干貨 2015-04-07
  • 設計模式(十)享元模式Flyweight(結構型)

    相對于其它模式,Flyweight模式在PHP實現似乎沒有太大的意義,因為PHP的生命周期就在一個請求,請求執行完了,php占用的資源都被釋放。我們只是為了學習而簡單做了介紹。 1. 概述 面向對象技術可以很好地解決系統一些靈活性或可擴展性或抽象性的問題,但在很多情況下需要在系統中增加類和對象的個數。當對象數量太多時,將導致運行代價過高,帶來性能下降等問題?!?/p>

    Linux干貨 2015-07-08
  • MySQL-MMM安裝指南(Multi-Master Replication Manager for MySQL)

    最基本的MMM安裝必須至少需要2個數據庫服務器和一個監控服務器下面要配置的MySQL Cluster環境包含四臺數據庫服務器和一臺監控服務器,如下: function ip hostname server id monitoring host 192.168.0.10 mon – master 1 192.168.0.11 db1 1 maste…

    Linux干貨 2015-05-01
欧美性久久久久