监控io性能、free命令、ps命令、查看网络状态、linux下抓包

简介:

监控io性能

iostat命令
iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
安装:
[root@centos7 logs]# yum install sysstat
[root@centos7 logs]# iostat -x

Linux 3.10.0-327.el7.x86_64 (centos7)   11/29/2017  _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.55    0.00    0.40    0.19    0.00   98.86

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.20    0.13    2.33     4.02    27.76    25.77     0.01    2.86   14.81    2.17   1.42   0.35
dm-0              0.00     0.00    0.11    2.51     3.68    27.74    23.99     0.01    2.86   17.86    2.23   1.34   0.35
dm-1              0.00     0.00    0.00    0.00     0.01     0.00    16.88     0.00    7.54    7.54    0.00   7.11   0.00

util%:表示io等待占比,正常情况下该值和磁盘读写(r/w)成正比,如果该值很大,读写数值很小则说明磁盘存在问题,系统性能会受影响!

iotop命令

iotop命令是一个用来监视磁盘I/O使用状况的top类工具(动态)。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。
安装:
[root@centos7 logs]# yum install iotop
监控io性能、free命令、ps命令、查看网络状态、linux下抓包

iotop常用快捷键
左右箭头:改变排序方式,默认是按IO排序
r:改变排序顺序。
o:只显示有IO输出的进程。
p:进程/线程的显示方式的切换。
a:显示累积使用量。
q:退出。

free命令

[root@centos7 logs]# free -mh
total used free shared buff/cache available
Mem: 1.8G 658M 691M 24M 475M 979M
Swap: 1.0G 0B 1.0G

“total=used+free+buff/cache”
“available=free+buff/cache(空闲部分)”
buff(缓冲):当CPU向磁盘写入数据时,由于磁盘存储速率低于CPU,所以CPU工作时先将写好的数据存放在内存中,该部分内存即为缓冲内存。
cache(缓存):当CPU从磁盘读取数据时,由于磁盘输出速率低于CPU的读取速度,所以磁盘的数据会预先存放在内存中,该部分内存即为缓存内存。

ps命令

查看正在进程、pid等
a:显示现行终端机下的所有程序,包括其他用户的程序。
u:以用户为主的格式来显示系统状况。
x:显示所有程序,包括历史进程。
-e:显示所有进程(同a)
-f:显示UID、PPIP、C与STIME栏
-l:显示进程详细信息

ps -aux
监控io性能、free命令、ps命令、查看网络状态、linux下抓包

进程状态:

D:不能中断的进程
R:run状态的进程
S:sleep状态的进程
s:主进程
T:暂停的进程
Z:僵尸进程
<:高优先级进程
N:低优先级进程
L:内存中被锁定了内存分页
l:多线程进程
+:前台进程

查看网络状态

netstat命令
-a:=all 显示所有连线中的socket
-l:=listening 显示监控中的服务器的socket
-n:=numeric 直接使用IP地址
-p:=programs 显示正在使用socket的程序识别码和程序名称
-t:=tcp 显示tcp传输协议的连接状况
查看端口进程
[root@centos7 logs]# netstat -nutlp
监控io性能、free命令、ps命令、查看网络状态、linux下抓包

netstat -an 
查看系统网络连接状况(ESTABLISHED:表示连接状态)
监控io性能、free命令、ps命令、查看网络状态、linux下抓包

查看tcp协议状态的命令:
netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
ESTABLISHED 3
LISTEN 8

ss命令

-a:显示所有套接字(socket)
-n:不解析服务器名称,以数字方式显示
监控io性能、free命令、ps命令、查看网络状态、linux下抓包

linux下抓包

tcpdump命令
tcpdump命令是一款sniffer工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。
-i:指定网卡名,使用指定的网络送出数据包
-c:指定数量
-w:指定存放位置
-r:=read,从指定文件查看数据包数据

tcpdump -nn -i ens33 (第一个n表示以数字形式显示IP,如果不加该选项会显示成主机名)
tcpdump -nn ens33 port 22 (not port 22)指定端口为22的(非22的)
tcpdump -nn ens33 port 22 and host 192.168.3.1 指定多个条件(host:主机,后面跟主机名或IP)
tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap 指定抓包数量和存放位置

用法:
[root@centos7 alertscripts]# tcpdump -nn -i eno16777736 -c 10 -w /tmp/1.cap
tcpdump: listening on eno16777736, link-type EN10MB (Ethernet), capture size 262144 bytes
10 packets captured
10 packets received by filter
0 packets dropped by kernel

查看:
[root@centos7 alertscripts]# tcpdump -r /tmp/1.cap

tshark命令

安装:yum install -y wireshark
查看指定网卡80端口的1个web服务的访问情况(类似于web的访问日志):
[root@centos7 ~]# 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"

抓取mysql的查询
[root@centos7 ~]# tshark -n -i eno16777736 -R 'mysql.query' -T fields -e "ip.src" -e "mysql.query"

统计http的状态
[root@centos7 ~]# tshark -n -q -z http,stat, -z http,tree








本文转自方向对了,就不怕路远了!51CTO博客,原文链接: http://blog.51cto.com/jacksoner/2045518,如需转载请自行联系原作者




相关文章
|
10天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
32 2
|
13天前
|
缓存 算法 Linux
深入理解Linux内核调度器:公平性与性能的平衡####
真知灼见 本文将带你深入了解Linux操作系统的核心组件之一——完全公平调度器(CFS),通过剖析其设计原理、工作机制以及在实际系统中的应用效果,揭示它是如何在众多进程间实现资源分配的公平性与高效性的。不同于传统的摘要概述,本文旨在通过直观且富有洞察力的视角,让读者仿佛亲身体验到CFS在复杂系统环境中游刃有余地进行任务调度的过程。 ####
34 6
|
22天前
|
域名解析 网络协议 安全
|
27天前
|
网络协议 安全 网络安全
|
28天前
|
运维 监控 网络协议
|
12天前
|
网络协议 Linux
使用nmcli命令设置IP地址并排查网络故障
nmcli 是一个功能强大的网络管理工具,通过它可以轻松配置IP地址、网关和DNS,同时也能快速排查网络故障。通过正确使用nmcli命令,可以确保网络配置的准确性和稳定性,提高系统管理的效率。希望本文提供的详细步骤和示例能够帮助您更好地掌握nmcli的使用方法,并有效解决实际工作中的网络问题。
29 2
|
13天前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
27 2
|
14天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
17天前
|
缓存 弹性计算 运维
网络管理利器:掌握常用的CMD命令
本文介绍了常用的网络CMD命令及其用法,包括`ping`、`ipconfig`、`tracert`、`nslookup`、`netstat`、`route`、`telnet`、`ftp`、`netsh`、`arp`、`nbtstat`、`hostname`、`systeminfo`、`ipconfig /flushdns`和`tasklist`。这些命令在日常的网络管理和故障排查中非常实用,帮助你轻松进行网络诊断、配置和监控。
|
22天前
|
人工智能 安全 Linux
下一篇
无影云桌面