10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包
iostat
sysstat 包里面包括 sar 和 iostat
[root@centos7 ~]# iostat
Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.41 0.00 0.27 0.01 0.00 99.31
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
vda 0.25 2.04 2.25 1348209 1490248
iostat 1 一直循环显示磁盘信息
iostat -x 磁盘使用
[root@centos7 ~]# iostat -x
Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.41 0.00 0.27 0.01 0.00 99.31
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.00 0.07 0.04 0.21 2.04 2.25 34.40 0.00 11.22 15.07 10.48 0.46 0.01
Device: sda,sdb,vda 磁盘
rkB/s wkB/s 读写速度
一个重要的指标:%util
%util 表示等待磁盘io百分比
iotop 查看哪一个进程在读写磁盘
yum install -y iotop
iotop 磁盘使用
[root@centos7 ~]# iotop
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 21
free
free查看内存使用情况
[root@centos7 ~]# free -h
total used free shared buff/cache available
Mem: 1.8G 530M 140M 14M 1.1G 1.1G
Swap: 0B 0B 0B
Mem 物理内存
swap交换分区
total :总共内存大小
used:使用的内存
free:剩余内存大小
buff:缓冲
cache : 缓存
buffer /cache区别:
从 磁盘读数据 ---> 内存 (cahche缓存)-----> cpu
cpu处理好的数据 ---> 内存 (buffer缓冲)----->磁盘
free -m / -g / -h
free -m (MB)
free -h(具体数据加上单位)
free -g(GB)
内存总大小公式:total = used + free + buff /cache
avaliable 包含free和buffer/cache剩余部分
ps
ps查看系统进程
(ps意思是报告系统进程快照)
用法:ps aux、ps -elf
ps aux 显示系统进程
[root@centos7 ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 43388 3824 ? Ss 1月15 0:03 /usr/lib/systemd/systemd --switched
root 2 0.0 0.0 0 0 ? S 1月15 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 1月15 0:10 [ksoftirqd/0]
....
ps aux |grep nginx 列出当前系统进程中的nginx进程
[root@centos7 ~]# ps aux |grep nginx
root 11881 0.0 0.0 112676 984 pts/0 R+ 17:55 0:00 grep --color=auto nginx
root 28467 0.0 0.1 122908 2268 ? Ss 1月20 0:00 nginx: master process nginx
nginx 28468 0.0 0.1 123296 3588 ? S 1月20 0:00 nginx: worker process
kill pid 杀死某个进程
PID 是进程号
查看进程从哪里启动的
ls /proc/进程号(每一个进程都有一个目录)/
ls /proc/505/
STAT部分说明
D不能中断的进程
R run状态的进程
S sleep状态的进程
T 暂停的进程
Z 僵尸进程
< 高优先级进程
N 低优先级进程
L 内存中被锁了内存分页
S 主进程
| 多线程进程
+ 前台进程
什么原因产生僵尸进程?
当父进程被意外中断,单独留下子进程,这些子进程被称为僵尸进程。
多线程进程:
进程是程序的一次运行,一个进程包含多个线程。
暂停进程
[root@centos7 ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 0 141648 52672 1144972 0 0 2 2 41 30 0 0 99 0 0
0 0 0 141648 52672 1144972 0 0 0 0 176 345 0 1 99 0 0
0 0 0 141648 52672 1144972 0 0 0 8 171 336 1 0 99 0 0
0 0 0 141260 52672 1144972 0 0 0 0 168 352 0 0 100 0 0
0 0 0 141248 52672 1144972 0 0 0 0 162 368 0 0 100 0 0
^Z
[1]+ 已停止 vmstat 1
[root@centos7 ~]# ps aux |grep vmstat
root 21417 0.0 0.0 148316 1376 pts/0 T 19:13 0:00 vmstat 1
netstat 查看网络状态
netstat -lnp 查看监听端口
netstat -ltnp 只查看tcp端口
netstat -ltunp 只查看tcp,udp端口
netstat -an 查看系统的网络连接状况
netstat -lntp 只看tcp的,不包含socket
ss -an 和netstat 异曲同工
技巧:
netstat -an |awk '/^tcp/{++sta[$NF]}END{for(key in sta) print key,"\t",sta[key]}'
[root@centos7 ~]# netstat -an |awk '/^tcp/{++sta[$NF]}END{for(key in sta) print key,"\t",sta[key]}'
LISTEN 3
ESTABLISHED 3
tcpdump
安装yum install -y tcpdump
抓包工具:tcpdump
用法:tcpdump -nn
第一个n 表示用ip显示出来,如果不加n,就会显示主机名
监听指定网卡
tcpdump -nn -i eth0
[root@centos7 ~]# tcpdump -nn -i eth0
监听指定端口
监听80 web 端口
[root@centos7 ~]# tcpdump -nn port 80
监听网卡eth0 端口80
[root@centos7 ~]# tcpdump -nn -i eth0 port 80
不监听22端口的
tcpdump -nn -i etho not port 22
指定某个IP的包,不包括22端口
tcpdump -nn -i eth0 not port 22 and host 192.168.1.1
抓100个包放到/tmp/1.cap里面
tcpdump -nn -i eth0 -c 100 -w /tmp/1.cap
[root@centos7 ~]# tcpdump -nn -i eth0 -c 100 -w /tmp/1.cap
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
100 packets captured
102 packets received by filter
0 packets dropped by kernel
读取抓取保存的包文件1.cap
[root@centos7 ~]# tcpdump -r /tmp/1.cap
Wire shark抓包
[root@centos7 ~]# yum install -y wireshark
wireshark里面的tshark命令
可以清楚的看到哪个IP来访问我的网站,访问我网站里面什么内容。
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"
10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包的更多相关文章
- 监控io性能、free、ps命令、查看网络状态、Linux下抓包 使用介绍
第7周第2次课(5月8日) 课程内容: 10.6 监控io性能 10.7 free命令10.8 ps命令10.9 查看网络状态10.10 linux下抓包扩展tcp三次握手四次挥手 http://ww ...
- Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包
一.监控io性能 Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. iostat ...
- 10.8 ss:查看网络状态
ss命令 是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP.UDP连接.端口等.它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效. ...
- 10.7 netstat:查看网络状态
netstat命令 用于显示本机网络的连接状态.运行端口和路由表等信息. netstat命令的参数选项及说明 -r 显示路由表信息,该功能类似于前面学过的route 和ip route-g 显示多播功 ...
- 测网速 fping Linux查看网络即时网速 linux性能问题(CPU,内存,磁盘I/O,网络)
Linux查看网络即时网速 fping 是ping 工具的加强版本 例出局域网中存活的主机 (Ubuntu apt-get装上 cnetos装不上) zzx@zzx11:~$ fping -a 19 ...
- Performance Monitor4:监控SQL Server的IO性能
SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...
- Linux下的IO监控与分析
Linux下的IO监控与分析 近期要在公司内部做个Linux IO方面的培训, 整理下手头的资料给大家分享下 各种IO监视工具在Linux IO 体系结构中的位置 源自 Linux Performan ...
- linux 下取进程占用 cpu/内存 最高的前10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ;|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ;|head 命令组合解析(针对CPU的,M ...
- Linux下iftop网卡流量监控使用
在类linux系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.i ...
随机推荐
- AIX参数调整
AIX下修改用户最大进程数限制: 用命令查看用户进程数 ps -ef | grep 用户名|wc -l 发现用户进程数达到最大 128 查看用户最大进程数设置 命令 #lsattr -E -l sys ...
- 使用spin.js优化等待ajax返回时的页面效果
[本文出自天外归云的博客园] 最近在做一个JIRA信息统计的系统,在统计JIRA关联信息的过程中由于需要等待ajax返回结果到前端,时间较长,所以要添加一段等待时的loading画面,使用spin.j ...
- Docker实战-编写Dockerfile
一.编译镜像 1. 编译镜像 Dockerfile类似于Makfile,用户使用docker build就可以编译镜像,使用该命令可以设置编译镜像时使用的CPU数量.内存大小.文件路径等 语法:doc ...
- 本质矩阵E求解及运动状态恢复
为了获取本质矩阵,首先计算基础矩阵F.根据本质矩阵E,即可恢复得到运动的状态R和T. 由可以根据匹配点得到F,然后根据和相机内参,即可得到本质矩阵E.进而根据: 注意:根据摄像机模型t=-RT,恢复运 ...
- 一个实体对象不能由多个 IEntityChangeTracker 实例引用。
错误代码 public bool addSubOptionItem(csModel.cs_Answer answers) { bool result = false; wpe = new csWeiP ...
- Android MediaScanner 总纲
1. MediaScanner HEAD 2. 应用层 MediaProvider packages\providers\MediaProvider (1) MediaProvider package ...
- for语句查看js对象
for (var obj in o.curform) { document.write("<p>" + obj + " = " + o.curfor ...
- wifi 模块RTL8188以及mt7601u 移植测试
kernel version:4.4.12 kernel make menuconfig // make menuconfig [*] Networking support ---> Netwo ...
- DRUPAL8模版命名规则
DRUPAL8模版命名规则 xiaopang 星期一, 04/08/2013 - 20:04 发布 我想了半个小时,想怎么清楚简单的为大家解释drupal8的模版命名规则,但是很显然,我失败了,但 ...
- Git 提交更改
Jerry 已经提交的更改,他想纠正他的最后一次提交,在这种情况下,git 的修改将帮助操作.最后提交修改操作的变化,包括提交信息,它创建新的提交ID. 修改操作之前,他会检查提交日志. [jerry ...