码迷,mamicode.com
首页 > 系统相关 > 详细

Linux系统中的日常监控知识点

时间:2016-08-04 17:46:40      阅读:609      评论:0      收藏:0      [点我收藏+]

标签:

1.命令熟悉之w
 

[xiongchao@oc3006745124 Desktop]$ w
 18:15:44 up  9:07,  3 users,  load average: 1.48, 1.19, 1.11
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
xiongcha tty1     :0               09:10    9:06m 34:28   0.14s pam: gdm-passwo
xiongcha pts/0    :0.0             11:21    6:50m  0.16s  3.50s /usr/bin/gnome-
xiongcha pts/3    :0.0             18:15    0.00s  0.03s  0.02s w

 
在这里就只说重要的选项,Load average 中的后面三个数据
第一个数值表示1分钟内系统的平均负载值;第二个数值表示5分钟内系统的平均负载值;第三个数值表示15分钟系统的平均负载值
当然这个数值越大,就代表你的服务器压力越大
其衡量的标准是,CPU的数量是8,Load average相对应的数值小于8,则正常

2.查看Cpu个数,cat /proc/cpuinfo
 

processor    : 3
vendor_id    : GenuineIntel
cpu family    : 6
model        : 60
model name    : Intel(R) Core(TM) i7-4600M CPU @ 2.90GHz
stepping    : 3
microcode    : 30
cpu MHz        : 800.000
cache size    : 4096 KB
physical id    : 0
siblings    : 4
core id        : 1
cpu cores    : 2
apicid        : 3
initial apicid    : 3
fpu        : yes
fpu_exception    : yes
cpuid level    : 13
wp        : yes
flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush 
dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon
pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx
est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes
xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority
ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcid bogomips :
5787.03 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:

 
其中processor后面的数字就是CPU的个数
physical id显示物理CPU的个数

3.命令熟悉之vmstat
 

[xiongchao@oc3006745124 Desktop]$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 159548 1049412  55140 1399084    1    3   124    45   31  447 24 12 64  1  0    



w是判断系统的压力问题,那么vmstat是判断具体点的压力在那一个位置(CPU,内存,磁盘等)
重点是 r b si so bi bo
r :表示运行和等待CPU时间片的进程数,如果长期大于服务器的个数,则说明cpu不够用了
b :表示等待资源的进程数,比如等待I/O 内存等
buff:缓冲大小,(即将写入磁盘的)
cache:缓存大小,(从磁盘中读取的)
si:由交换区写入到内存的数据量
so:由内存写入到交换区的数据量
bi:从块设备读取数据的量(读磁盘)
bo:从块设备写入数据的量(写磁盘)


4.命令熟悉之top 显示进程所占系统资源

[xiongchao@oc3006745124 Desktop]$ top

top - 16:33:07 up  4:05,  2 users,  load average: 1.47, 1.23, 1.24
Tasks: 295 total,   1 running, 292 sleeping,   0 stopped,   2 zombie
Cpu(s):  8.3%us,  5.9%sy,  0.0%ni, 85.6%id,  0.1%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   7875568k total,  7360468k used,   515100k free,    68920k buffers
Swap:  8388604k total,    89192k used,  8299412k free,  1243564k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
13248 qemu      20   0 6616m 4.2g 5152 S 28.5 55.4  58:43.43 qemu-kvm           
13809 xiongcha  20   0 1294m 221m  51m S  7.3  2.9   1:37.59 firefox            
 4236 root      20   0  171m  27m  15m S  5.0  0.4   7:11.88 Xorg               
15956 xiongcha  20   0  289m  12m 9840 S  2.3  0.2   0:00.39 gnome-terminal     
 3120 root      20   0  4908  748  592 S  2.0  0.0   1:38.33 symcfgd            
 3969 root      20   0  588m  16m 6812 S  2.0  0.2   4:56.86 BESClient          
 3852 root      20   0  301m 252m 2592 S  1.7  3.3   2:12.29 rtvscand           
 2933 dbus      20   0 32960 2460 1052 S  1.0  0.0   0:13.23 dbus-daemon        
 2949 root      20   0  100m 6240 4936 S  0.7  0.1   0:09.69 NetworkManager     
 3823 root      20   0 49604  860  716 S  0.7  0.0   0:07.55 wcstatusd          
 4117 root       9 -11  8320  356  300 S  0.7  0.0   0:28.23 sav-limitcpu       
 4120 root       9 -11  8320  392  340 S  0.7  0.0   0:27.92 sav-limitcpu       
 6778 xiongcha  20   0  620m 162m  32m S  0.7  2.1   0:56.46 sametime           
11530 xiongcha  20   0  444m 118m  57m S  0.7  1.5   0:35.13 lnotes             
11553 xiongcha  20   0  689m 191m  78m S  0.7  2.5   0:26.96 notes2             
15558 xiongcha  20   0  513m  33m  16m S  0.7  0.4   0:01.83 plugin-containe    
16014 xiongcha  20   0 15168 1392  936 R  0.7  0.0   0:00.10 top  

 


改命令用于动态监控进程所占系统资源,每隔3秒变一次,这个命令 %CPU, %MEM, COMMAND
在top状态下,按住shift + m 可以按照内存使用大小排序。按数字1 可以列出各颗Cpu的使用状态
top -bn1 它表示非动态打印系统资源使用情况

5.命令熟悉之sar监控系统状态

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:           lo     11.99     11.99     10.99     10.99      0.00      0.00      0.00
Average:         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        wlan0      5.18      3.61      5.27      0.74      0.00      0.00      0.00
Average:         pan0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       virbr1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    virbr1-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       virbr0      1.81      2.49      4.07      2.31      0.00      0.00      0.00
Average:    virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        vnet0      1.81      2.87      4.10      2.33      0.00      0.00      0.00
# 仅仅列出部分,太多内容



IFACE 这列表示设备名称
rxpck/s 表示每秒进入收取的包的数量
txpck/s 表示每秒发送出去的包的数量
rxbyt/s 表示每秒收取的数据量(单位Byte)
txbyt/s表示每秒发送的数据量

查看历史负载 sar -q
可以查看某一天的网卡流量历史,使用-f选项,(sar -n DEV -f /var/log/sa/sa21)后面跟文件名,如果你的系统格式Redhat或者CentOS那么sar的库文件一定是在/var/log/sa/目录下的

6.命令熟悉之free查看内存使用状况
 

[xiongchao@oc3006745124 Desktop]$ free
             total       used       free     shared    buffers     cached
Mem:       7875568    7342076     533492      91248      70912    1256280
-/+ buffers/cache:    6014884    1860684
Swap:      8388604      89184    8299420

 
free中,剩余533492. 其实真正剩余并不是这个533492, 而是第二行的1860684, 真正使用的也是第二行的1860684
因为系统初始化时,就已经分配出很大一部分内存给缓存,这部分缓存用来随时提供给程序使用
如果程序不用,那这部分内存就空闲
所以,查看内存使用多少,剩余多少请看第二行的数据

7.命令熟悉之ps查看系统进程
 

[xiongchao@oc3006745124 Desktop]$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  19372  1308 ?        Ss   12:27   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    12:27   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    12:27   0:02 [migration/0]
root         4  0.0  0.0      0     0 ?        S    12:27   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    12:27   0:00 [stopper/0]
root         6  0.0  0.0      0     0 ?        S    12:27   0:00 [watchdog/0]
#仅显示部分


PID :进程的id,这个id很有用,在linux中内核管理进程就得靠pid来识别和管理某一个程,比如我想终止某一个进程,则用 ‘kill  进程的pid 有时并不能杀掉,则需要加一个-9选项了 kill  -9  进程pid

STAT :表示进程的状态,进程状态分为以下几种(不要求记住,但要了解)

D 不能中断的进程(通常为IO)

R 正在运行中的进程

S 已经中断的进程,通常情况下,系统中大部分进程都是这个状态

T 已经停止或者暂停的进程,如果我们正在运行一个命令,比如说 sleep 10 如果我们按一下ctrl -z 让他暂停,那么我们用ps查看就会显示T这个状态

W 这个好像是说,从内核2.6xx 以后,表示为没有足够的内存页分配

X 已经死掉的进程(这个好像从来不会出现)

Z 僵尸进程,杀不掉,打不死的垃圾进程,占系统一小点资源,不过没有关系。如果太多,就有问题了。一般不会出现。

< 高优先级进程

N 低优先级进程

L 在内存中被锁了内存分页

s 主进程

l 多线程进程

+ 代表在前台运行的进程

8.命令熟悉之netstat查看网络状态

 

[xiongchao@oc3006745124 Desktop]$ netstat -lnp
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:1445                0.0.0.0:*                   LISTEN      13149/ibm-file-shar
tcp        0      0 127.0.0.1:53224             0.0.0.0:*                                     LIST
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     23728  -                   @Symantec-SmcIPC
unix  2      [ ACC ]     STREAM     LISTENING     29220  5143/ibus-daemon
#仅显示部分


常用的命令
netstat -lnp (打印当前系统启动哪些端口)
netstat  -an (打印网络连接状况)

9.命令熟悉之tcpdump
如果你的服务器被流量攻击了,用这个命令就可以解决
如果系统没有tcpdump,那么就yum install -y tcpdump 命令去安装一下
 

[xiongchao@oc3006745124 Desktop]$ tcpdump -nn -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:13:56.689147 IP 10.72.137.159.22 > 10.72.137.53.50827: Flags [P.], seq 2793829986:2793830182, ack 1384443306, win 1067, length 196
19:13:56.691389 IP 10.72.137.159.22 > 10.72.137.53.50827: Flags [P.], seq 196:376, ack 1, win 1067, length 180


这里需要关注的只是第三列以及第四列。-i 选项后面跟设备名称
如果你想抓eth1网卡的包,后面则要跟eth1.至于-nn选项的作用是让第三列和第四列显示成IP+端口号的形式
如果不加-nn则显示的是主机名+服务名称

Linux系统中的日常监控知识点

标签:

原文地址:http://www.cnblogs.com/carltonx/p/5737533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!