10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包

10.6 监控io性能

安装sysstat 会 安装上 iostatphp

iostat 1 10html

iostat -x 磁盘使用linux

%util: 在统计时间内全部处理IO时间,除以总共统计时间。例如,若是统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,因此该参数暗示了设备的繁忙程度 。通常地,若是该参数是100%表示设备已经接近满负荷运行了(固然若是是多磁盘,即便%util是100%,由于磁盘的并发能力,因此磁盘使用未必就到了瓶颈)。ios

iotop 磁盘使用 查看具体进程使用io大小nginx

10.7 free命令

free 查看内存使用状况web

free -m / -g / -h缓存

buff/cache: 缓冲/缓存服务器

磁盘(数据) --> 内存(cache) --> cpu网络

cpu --> 内存(buff) --> 磁盘(数据)多线程

公式: totle=used+free+buff/cache

avaliabel 包含free和 buff/cache剩余部分

10.8 ps命令

ps 查看系统进程

用法:ps aux、ps -elf

经常使用: ps aux | grep nginx

%CPU cpu百分比

%MEM 内存百分比

VSZ 虚拟内存

RSS 物理内存

TTY 哪一个tty上

STAT部分说明

D 不能中断的进程 (这种进程会直接影响系统负载, 负载会变高, 但占cpu使用率不必定高)

R run状态的进程 (某一时间段内(1分钟?)进程在使用cpu)

S sleep状态的进程

T 暂停的进程 vmstat 1 -> ctrl-z 会暂停- fg 调回

Z 僵尸进程

< 高优先级进程

N 低优先级进程

L 内存中被锁了内存分页

s 主进程 如nginx的主进程master

l 多线程进程 一个进程里有多个线程, 进程和进程之间内存不共享, 不管多少个线程共享进程的内存

  • 前台进程

查看进程在哪里启动的, 先找到进程号

ls -l /proc/进程号的目录

自定义ps

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'

10.9 查看网络状态

netstat 查看网络状态

netstat -lnp 查看监听端口

netstat -an 查看系统的网络链接状况

netstat - lntp 只看出tcp的, 不包含socket

netstat -ltunp 只看出tcp的和utp的

ss -an 和 netstat 殊途同归

技巧
netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'

http://www.cnblogs.com/chengmo/archive/2010/10/08/1846190.html

http://www.cnblogs.com/lixiaohui-ambition/archive/2012/12/11/2813419.html

须要关注 ESTABLISHED 值, ESTABLISHRD = 并发链接数

ESTABLISHED 很大 , 说明网站很忙, 1000之内为好

好比,服务器仅仅是lvs调度器,那established数值就算10000也不是问题,由于即便链接数再多也不会对调度器形成多大影响。

反而,若是是httpd或者php-fpm,这个数值很大,说明访问量很大,那也就意味着php的处理比较繁忙,天然会对机器形成影响。

10.10 linux下抓包

yum install -y tcpdump

抓包工具 tcpdump

用法: tcpdump -nn 需指定网卡名字,以下

tcpdump -nn -i ens33 i 指定网卡名字, 不加nn显示成主机名

tcpdump -nn -i ens33 port 80 指定端口

tcpdump -nn -i ens33 not port 22 and host 192.168.0.100 不要22端口不要主机ip为0.100

tcpdump -nn -i ens33 -c 100 -w /tmp/文件名.cap 指定个数(抓100个), 指定存放的文件名

tcpdump -r 文件名.cap 打开cap文件

-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后能够抓到完整的数据包

yum install -y wireshark

查看 指定网卡 80端口 web访问状况

tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

访问时间 ip 域名 post/get 访问的连接

输入图片说明

相关文章
相关标签/搜索