系统诊断工具

1,诊运行历史
  sar
  看最近一天的运行历史信息,包含iowait
 
  sar -f /var/log/sa/sa日期  
  看本月某一天的运行历史信息
 
2,诊整体资源
  top  
  看当前负载、cpu、内存、进程、用户数等
 
  ps aux | sort -nk3
  查看CPU占用率最大的进程,显示在最下面一行
 
  ps aux | sort -nk4
  查看内存占用率最大的进程,显示在最下面一行
 
3,诊磁盘
  iostat -x -k 2  
  这个命令每隔2秒输出一次磁盘io统计信息,这是看数据存储方案最常用命令。
 
  df -kh
  看磁盘空间,磁盘满了?你应该自己立即发现哦
 
  #/sbin/hdparm -t /dev/sda
  评估磁盘的读取性能。hdparm可检测、显示与设定IDESCSI硬盘的参数。
 
4,诊网络连接
  netstat -nap  
  这个命令输出当前所有连接,包括连接所属的进程
 
  ping hostip
  诊断网络是否可达和域名解析是否成功。
 
  /sbin/ethtool ethX
ethX表示网卡名如eth0
  检查网卡和网络速度“Speed”,100Mb1000Mb的带宽差别可大了。
 
  有时要确信两台机器之间的实际带宽,
  a,可用scp传一个大文件看看,不过scp传送会受ssh协议的影响,会偏慢一些。
  b,用http协议会更真实,在nginxhtdocs目录下放个大文件,到另一台机器用wget下载。
 
  sar -n DEV 5 500
  诊断网络流量,是否遭到攻击?看网卡读写数据量rxbyt/stxbyt/s,单位字节。
 
5,诊文件句柄
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
6,诊系统限制
  ulimit -a
  看是否可生成core文件、可打开文件句柄数"open files",经常需要修改系统限制。
 
7, 诊程序系统调用
  strace -p pid
  看程序进程的系统调用函数和返回值,在“显微镜”下看这程序在偷偷干吗?
  多线程程序可尝试看pid+1,pid+2后面一般依次是进程创建的多条线程
 
  strace -p pid -c
  看某个进程id的系统调用函数次数统计,按ctrl + c退出并输出统计信息  
 
8,诊通信包
  常用命令:
  #/usr/sbin/tcpdump -X -s 0 tcp port 8030 -i lo
  #/usr/sbintcpdump -n -x -s 0 tcp port 23000 or 23002 or 23003 or 22122 >dump
  #/usr/sbin/tcpdump -n -x -s 0 tcp port 7820 and host 192.156.30.100
  root可以在linux上用tcpdump抓包,tcpudp包都可以抓。
  常用选项:
  -X 以可读方式显示数据包,适合httpmemcached asccii等明文传输的协议
  -x 输出16进制的包内容,Print each packet (minus its link level header) in hex
  -A ascii码显示
 
  -i lo 看本机localhost的通信包
  -n 不要域名解析,Dont convert host addresses to names.  This can be used to avoid DNS lookups.
  -s 设置抓完整的包,Snarf  snaplen  bytes  of data from each packet rather than the default of 68...
     Setting snaplen to 0 means use the required length to catch whole packets.
 
9,诊程序配置文件或启动参数
  以上几个命令一看基本知道系统内脏情况,必要时查看具体程序的配置或启动参数,
  查看是否连接数、磁盘数、内存数、进程线程数配置不合理。
 
10,诊日志
  看具体程序运行日志、统计日志、耗时日志
 
  vi /etc/syslog.conf
  查看linux系统log在哪个目录
  # vi /var/log/messages
  查看最近系统运行日志,包括机器重启前后的日志、用户登录日志
 
  dmesg
  查看linux启动日志
  dmesg|grep sda
  查看启动日志中有关sda这个磁盘分区参数.
 
11gdb core文件
如果已生成coredump文件,则gdb program core.***
有时也可以强制coredumpkill -s SIGSEGV pid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值