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

LINUX监控一:监控命令

时间:2016-01-07 11:38:43      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

简单的整理一下常用的linux监控命令

1.top
top能实时显示CPU 和内存的使用状况。
  1. top - 01:56:31 up 15:59, 1 user, load average: 0.00, 0.00, 0.00
  2. Tasks: 71 total, 1 running, 70 sleeping, 0 stopped, 0 zombie
  3. Cpu(s): 0.3%us, 0.0%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.3%hi, 0.0%si, 0.0%st
  4. Mem: 1012552k total, 369308k used, 643244k free, 87220k buffers
  5. Swap: 2031608k total, 0k used, 2031608k free, 107636k cached
  6. PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
  7. 2301 root 20 0 867m 81m 7344 S 2.3 8.2 2:51.88 mongod
  8. 420 root 20 0 0 0 0 S 0.3 0.0 0:02.69 flush-253:0
  9. 1 root 20 0 19228 1496 1220 S 0.0 0.1 0:01.12 init
  10. 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
  11. 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
  12. 4 root 20 0 0 0 0 S 0.0 0.0 0:03.37 ksoftirqd/0
  13. 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
  14. 6 root RT 0 0 0 0 S 0.0 0.0 0:00.31 watchdog/0
  15. 7 root 20 0 0 0 0 S 0.0 0.0 1:23.72 events/0
  16. 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
  17. 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
  18. 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
  19. 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
  20. 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
  21. 13 root 20 0 0 0 0 S 0.0 0.0 0:00.84 sync_supers
  22. 14 root 20 0 0 0 0 S 0.0 0.0 0:00.52 bdi-default
  23. 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
第一行:系统概况
top - 01:56:31 up 15:59,  1 user,  load average: 0.00, 0.00, 0.00
分别是:当前时间   系统连续运行的时间  当前登录的用户  平均负载
01:56:31
当前时间
up 15:59
连接运行时间
1 user
当前登录的用户数
 load average: 0.00, 0.00, 0.00
平均负载,分别为1分钟、5分钟、15分钟,该数值除以逻辑CPU的个数>5时表示CPU使用高。
第二行:任务情况
Tasks: 71 total, 1 running, 70 sleeping, 0 stopped, 0 zombie
共71个任务,1个运行,70个休眠,0个停止,0个僵死进程
第三行:CPU运行情况
Cpu(s): 0.3%us
用户空间使用的CPU占比
0.0%sy
系统空间使用的CPU占比
0.0%ni
改变过优先级的进程战用的CPU的占比
99.3%id
空间的CPU占比
0.0%wa
IO等待使用的CPU占比
0.3%hi
硬中断的使用的CPU占比
0.0%si
软中断使用的CPU占比
0.0%st

第四行:内存
Mem: 1012552k total
内存总大小
369308k used
已经使用
643244k free
空闲多少内存
87220k buffers
缓存数量
第五行:交换分区
Swap: 2031608k total
交换分区的总大小
0k used
已经使用的交换分区大小
2031608k free
空闲的交换分区大小 
107636k cached
被缓存的交换分区大小
第6行:
PID
进程ID
USER
进程所有者
PR
进程优先级
NI
nice值。负值表示高优先级,正值表示低优先级。
VIRT
进程使用的虚拟内存问题,单位KB。VIRT=SWAP+RES
RES
进程使用的、未被换出的物理内存大小(真实内存大小).
SHR
共享内存大小,单位KB
S
进程状态。D不可中断的睡眠状态,R运行,S睡眠,T跟踪/停止,Z僵尸进程
%CPU
上次更新到现在使用的CPU占比
%MEM
进程使用的物理内存占比
TIME+
进程使用的CPU时间总计,单位1/100秒
COMMAND
进程命令

2.vmstat
vmstat从总体上显示了系统的状况。一般画[ 两个参数,如vmstat 2 3表示2秒采取一次数据,一共采集3次
  1. [root@node1 ~]# vmstat 2 3
  2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
  3. r b swpd free buff cache si so bi bo in cs us sy id wa st
  4. 1 0 0 632736 95324 108892 0 0 2 6 154 428 0 0 99 0 0
  5. 0 0 0 632712 95324 108892 0 0 0 0 144 491 1 0 99 0 0
  6. 0 0 0 632712 95324 108892 0 0 0 26 148 496 1 1 99 0 0
r
运行队列
b阻塞的进程
swpd虚拟内存使用的大小,如果数值大于0,说明内存不够用
free空间的物理内存大小
buff用于缓存的物理内存大小
cachecache占用的内存的大小
si(swap in)第秒从磁盘读入swap的内存大小
so(swap out)从swap 写入磁盘的
bi(block in)块设备(比如硬盘)接收的块数量,块默认大小1024b.比如写磁盘就会有block in。
bo(block out)块设备发送的块数量。比如读磁盘。一般来说,bi bo都不应该太大。
in(interrupt) CPU 中断次数
cs每秒上下文切换的次数。在执行系统调用、程序切换等等时要进行上下文切换,很费CPU资源,如果程序总是在做上下文切换,可用的CPU资源就不多。
us用户的CPU时间
sy系统使用的CPU时间
id(idle)空闲CPU时间
wa(wait)等待IO的CPU时间
st
相关参数:
  1. [root@node1 ~]# vmstat --help
  2. usage: vmstat [-V] [-n] [delay [count]]
  3. -V prints version.
  4. -n causes the headers not to be reprinted regularly.
  5. -a print inactive/active page stats. 打印活动/不活动的页状态
  6. -d prints disk statistics 打印磁盘情况
  7. -D prints disk table 打印磁盘信息
  8. -p prints disk partition statistics 打印磁盘分区信息
  9. -s prints vm table 打印vm表
  10. -m prints slabinfo slablinfo信息
  11. -t add timestamp to output
  12. -S unit size
  13. delay is the delay between updates in seconds.
  14. unit size k:1000 K:1024 m:1000000 M:1048576 (default is K)
  15. count is the number of updates.
3.ps命令
  1. [root@node1 ~]# ps --help
  2. ********* simple selection ********* ********* selection by list *********
  3. -A all processes -C by command name
  4. -N negate selection -G by real group ID (supports names)
  5. -a all w/ tty except session leaders -U by real user ID (supports names)
  6. -d all except session leaders -g by session OR by effective group name
  7. -e all processes -p by process ID
  8. T all processes on this terminal -s processes in the sessions given
  9. a all w/ tty, including other users -t by tty
  10. g OBSOLETE -- DO NOT USE -u by effective user ID (supports names)
  11. r only running processes U processes for specified users
  12. x processes w/o controlling ttys t by tty
  13. *********** output format ********** *********** long options ***********
  14. -o,o user-defined -f full --Group --User --pid --cols --ppid
  15. -j,j job control s signal --group --user --sid --rows --info
  16. -O,O preloaded -o v virtual memory --cumulative --format --deselect
  17. -l,l long u user-oriented --sort --tty --forest --version
  18. -F extra full X registers --heading --no-heading --context
  19. ********* misc options *********
  20. -V,V show version L list format codes f ASCII art forest
  21. -m,m,-L,-T,H threads S children in sum -y change -l format
  22. -M,Z security data c true command name -c scheduling class
  23. -w,w wide output n numeric WCHAN,UID -H process hierarchy
ps命令的参数非常多,常用的有
1)ps -ef 显示所有进程详细信息
2)ps -efH 所有进程的线程信息
3)ps -AL 长格式显示进程
4)ps -ax 显示服务器上进程

4.iostat
iostat是用来显示磁盘和CPU的情况:
  1. [root@node1 ~]# iostat 2 2
  2. Linux 2.6.32-358.el6.x86_64 (node1) 12/28/2015 _x86_64_ (1 CPU)
  3. avg-cpu: %user %nice %system %iowait %steal %idle
  4. 0.41 0.00 0.35 0.04 0.00 99.20
  5. Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
  6. scd0 0.00 0.00 0.00 288 0
  7. sda 0.72 4.56 13.94 357190 1092500
  8. dm-0 1.98 4.44 13.94 347810 1092448
  9. dm-1 0.00 0.03 0.00 2376 0
deveice:    磁盘
tps:        每秒IO请求数
blk_read/s:每秒读的block个数
blk_wrtn/s:每秒写的block个数
blk_read:   一共读的block个数
blk_wrtn:   一共写的block个数

更详细的信息:
  1. [root@node1 ~]# iostat -x
  2. Linux 2.6.32-358.el6.x86_64 (node1) 12/28/2015 _x86_64_ (1 CPU)
  3. avg-cpu: %user %nice %system %iowait %steal %idle
  4. 0.40 0.00 0.35 0.04 0.00 99.20
  5. Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
  6. scd0 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 11.19 11.19 0.00
  7. sda 0.19 1.09 0.07 0.65 4.49 13.95 25.49 0.00 2.58 1.72 0.12
  8. dm-0 0.00 0.00 0.24 1.74 4.38 13.95 9.25 0.01 3.53 0.62 0.12
  9. dm-1 0.00 0.00 0.00 0.00 0.03 0.00 8.00 0.00 4.53 1.39 0.00
Blk_read
读入块的当总数.

Blk_wrtn
写入块的总数.

kB_read/s
每秒从驱动器读入的数据量,单位为K.

kB_wrtn/s
每秒向驱动器写入的数据量,单位为K.

kB_read
读入的数据总量,单位为K.

kB_wrtn
写入的数据总量,单位为K.

rrqm/s
将读入请求合并后,每秒发送到设备的读入请求数.

wrqm/s
将写入请求合并后,每秒发送到设备的写入请求数.

r/s
每秒发送到设备的读入请求数.

w/s
每秒发送到设备的写入请求数.

rsec/s
每秒从设备读入的扇区数.

wsec/s
每秒向设备写入的扇区数.

rkB/s
每秒从设备读入的数据量,单位为K.

wkB/s
每秒向设备写入的数据量,单位为K.

avgrq-sz
发送到设备的请求的平均大小,单位是扇区.

avgqu-sz
发送到设备的请求的平均队列长度.

await
I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒.

svctm
发送到设备的I/O请求的平均执行时间.单位是毫秒.

%util
在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率.
当这个值接近100%时,表示设备带宽已经占满.
 
5.free
  1. [root@node1 ~]# free
  2. total used free shared buffers cached
  3. Mem: 1012552 463420 549132 0 100304 179744
  4. -/+ buffers/cache: 183372 829180
  5. Swap: 2031608 0 2031608
mem:系统层面的各指标.总内存1012522,使用了463420(包括 shared buffers cached),空闲free
-/+buffers/cache:程序层面的指标,shared buffers cached都是可以被程序使用的,所有算在空闲里面
swap:正常情况下不应该被使用,否则就是内存不够用。

6.netstat
  1. [root@node1 ~]# netstat -a
  2. Active Internet connections (servers and established) 网络连接(TCP)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State
  4. tcp 0 0 *:28017 *:* LISTEN
  5. tcp 0 0 *:ssh *:* LISTEN
  6. tcp 0 0 localhost:smtp *:* LISTEN
  7. tcp 0 0 *:27017 *:* LISTEN
  8. tcp 0 0 localhost:ssh 192.168.75.1:49742 ESTABLISHED
  9. tcp 0 1 localhost:46531 localhost:27017 SYN_SENT
  10. tcp 0 1 localhost:35646 192.168.75.12:27017 SYN_SENT
  11. tcp 0 0 localhost:ssh 192.168.75.1:58264 ESTABLISHED
  12. tcp 0 0 *:ssh *:* LISTEN
  13. tcp 0 0 localhost:smtp *:* LISTEN
  14. Active UNIX domain sockets (servers and established) 本地UNIX套接字
  15. Proto RefCnt Flags Type State I-Node Path
  16. unix 2 [ ACC ] STREAM LISTENING 24929 /tmp/mongodb-27017.sock
  17. unix 2 [ ACC ] STREAM LISTENING 8691 @/com/ubuntu/upstart
  18. unix 2 [ ACC ] STREAM LISTENING 11532 public/cleanup
  19. unix 2 [ ACC ] STREAM LISTENING 11539 private/tlsmgr
  1. Recv-Q Send-Q 指tcp的接收和发送队列,一般情况下都应该为0,队列中没有任务需要等待。
  2. local和foregine分别表示本机和外机的地址,星表示没数据。
  3. state 状态。
  4. 常见参数
  5. -a (all)显示所有选项
  6. -t (tcp)仅显示tcp相关选项
  7. -u (udp)仅显示udp相关选项
  8. -n 拒绝显示别名,能显示数字的全部转化成数字。
  9. -l 仅列出有在 Listen (监听) 的服務状态
  10. -p 显示建立相关链接的程序名
  11. -r 显示路由信息,路由表
  12. -e 显示扩展信息,例如uid
  13. -s 按各个协议进行统计
  14. -c 每隔一个固定时间,执行该netstat命令。
  15. 提示:LISTENLISTENING的状态只有用-a或者-l才能看到
查找特定端口:
netstat -a |grep 27017



















LINUX监控一:监控命令

标签:

原文地址:http://www.cnblogs.com/skyrim/p/5109043.html

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