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

简介:

监控磁盘状态io
因为磁盘的io也是非常重要的指标。有时cpu,内存有剩余就是负载很高。Vmstat发现b或者wa列数据比较大。说明磁盘有瓶颈。
iostat命令在安装sysstat包时已经安装上了,和sar同包
iostat -x 磁盘使用
[root@localhost ~]# iostat -x
Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2017年11月24日 _x8664 (1 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.10 0.00 0.40 0.22 0.00 99.29

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.23 0.01 1.95 1.73 34.32 2.24 19.91 0.02 4.29 4.71 3.82 2.35 0.86
scd0 0.00 0.00 0.00 0.00 0.02 0.00 8.00 0.00 17.45 17.45 0.00 17.45 0.01
%util:表示IO等待时间比。如果占用50%,rKB、wKB不大,%util大磁盘可能存在故障

磁盘很忙是哪个进程在读写呢?
iotop 磁盘使用
yum install -y iotop

10.7 free命令
free 查看内存使用情况
free -m / -g / -h查看内存总大小和使用情况

内存 内存总大小 已用大小 未使用大小 共享大小 缓冲缓存
交换分区 总大小 已用大小 未使用大小


buffer/cache区别
公式:total=used+free+buff/cache 
avaliable包含free和buffer/cache剩余部分

buffers:缓冲 
cached:缓存

Swap用完要加swap不是解决的办法,应该加内存。
内存不够(内存泄漏)要检查程序。
10.8 ps(pstree)
是一种静态的。把当前的状态显示出来
ps 查看系统进程
用法:
ps aux、ps -elf //列出系统全部进程
STAT 部分说明
D 不能中断的进程(对程序有影响的。影响系统负载)
R run 状态的进程
S sleep 状态的进程
T 暂停的进程(运行的进程被ctrl+z)
Z 僵尸进程
< 高优先级进程
N 低优先级进程
L 内存中被锁了内存分页
s 主进程(父进程守护进程)
l 多线程进程

  • 前台进程

[root@lsx-02 ~]# ps -aux|grep nginx //查看进程是否在运行

[root@lsx-02 ~]# ps -aux|grep qmgr
postfix 1872 0.0 0.0 91908 52 ? S 9月15 0:00 qmgr -l -t unix -u
root 12359 0.0 0.1 112672 984 pts/0 R+ 00:24 0:00 grep --color=auto qmgr
[root@lsx-02 ~]# kill 1872 ////杀死进程(不合理进程网站搜索下。合理的不能杀死,可以考虑加内存或者建立集群)
[root@lsx-02 ~]# ps -aux|grep qmgr
root 12361 0.0 0.1 112672 984 pts/0 R+ 00:24 0:00 grep --color=auto qmgr

背景:当系统被黑了,看到不知道的进程,想看看进程在哪呢?把进程杀掉,找到pid
[root@lsx-02 ~]# ls -l /proc/1111/ 1111是进程号 可以查看一个进程从哪里启动起来的

[root@lsx-02 ~]# ps –aux
使用者 进程号 Cpu百分比 内存百分比 虚拟内存 物理内存 Tty终端 状态 什么时候启动的 运行多久 进程名字

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 50036 4364 ? Ss 9月15 0:06 /usr/lib/
root 2 0.0 0.0 0 0 ? S 9月15 0:00 [kthreadd
root 3 0.0 0.0 0 0 ? S 9月15 0:04 [ksoftirq

父进程是root启动的 有一个小s主进程(守护进程)
子进程是www启动的

进程有多个线程,线程使用进程相同的内存区域

ps -le
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 80 0 - 12695 ep_pol ? 00:00:03 systemd
1 S 0 2 0 0 80 0 - 0 kthrea ? 
10.9 netstat 查看网络状态
Linux作为服务器的操作系统,会有很多的服务,服务通常和客户端相互通信的。意味着它有对外的监听端口。安装一个服务就要监听一个端口,要想其他人访问就要打开一个端口,远程设备与这个端口相连,相互通信。
netstat 查看tcp/ip网络状态
[root@lsx-02 ~]# yum install -y net-tools

netstat -lnp 查看监听端口
[root@lsx-02 ~]# netstat –lnp -l 监听
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
tcp 0 0 127.0.0.1:25 0.0.0.0: LISTEN 1788/master 
tcp 0 0 0.0.0.0:22 0.0.0.0:
 LISTEN 1111/sshd 
tcp6 0 0 ::1:25 ::: LISTEN 1788/master 
tcp6 0 0 :::22 :::
 LISTEN 1111/sshd 
udp 0 0 0.0.0.0:46708 0.0.0.0: 504/avahi-daemon: r 
udp 0 0 0.0.0.0:5353 0.0.0.0:
 504/avahi-daemon: r 
raw6 0 0 :::58 :::* 7 619/NetworkManager
Linux的socket文件也是进程之间通信的(在同一台服务器,两进程之间相互通信)
unix 3 [ ] STREAM CONNECTED 18212 
unix 2 [ ] DGRAM 15809 
unix 3 [ ] STREAM CONNECTED 14480 
unix 3 [ ] STREAM CONNECTED 17050

netstat -lntp 只看出tcp的,不包含socket
netstat -an 查看系统的网络连接状况
[root@lsx-02 ~]# netstat –an 查看所有的连接状态
连接状态有LISTENING、ESTABLISHED、TIME_WAIT、FIN_WAIT2、CLOSING
TIME_WAIT就是客户端与服务器端相互通信,通信完成之后连接还没断开处于一种等待的状态,等待下次两机器在一次连接传输数据。

tcp/ip三次握手

ss -an 和nestat异曲同工
ss -an|grep listen -i
分享一个小技巧:
netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}' //各种连接状态次数
ESTABLISHED表示建立连接正在传输数据的。数越大系统越忙 (在通信)1000以内可以接受(网站并发连接数(同一时间有多少客户端连接)ESTABLISHED的数就可以说明并发连接数有多少)

抓包工具
抓包工具tcpdump
在讲解sar那节,可能遇到攻击网卡流量异常,记录的包可能超过一万,可能想知道有哪些包进来

yum install -y tcpdump
用法:tcpdump -nn

-i 指定监听的网络接口。
-nn 不进行端口名称的转换。
tcpdump -nn -i ens33 // -nn 如果不加会显示主机名(加显示ip端口号)
看的是流向,和length。length默认很多都是tcp,可能看到udp的包,udp的包很有可能你被攻击了(DDos udp flood)。1G的DDos可能一个小机房都受不了,只能借助专业的防攻击设备、服务(创宇300G应该没问题)

tcpdump -nn port 80 //指定端口
tcpdump -nn not port 22 and host 192.168.0.100 //不要22端口和只要host指定ip的包

-c 在收到指定的数量的分组后,tcpdump就会停止。
写脚本抓数据包
tcpdump -nn -c 100 -w 1.cap // -w指定要存的文件数据包(这步后台运行或者在开一个终端运行)。是从网卡抓出来的文件,通信的内容
tcpdump -r /tmp/01tcp.txt //看文件的内容 -r 读

yum install -y wireshark //tcpdump类似的工具
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" //指定80端口web的访问情况,类似web访问日志



本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2045505,如需转载请自行联系原作者

相关文章
|
7月前
|
人工智能 运维 安全
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
迈格网络推出“天机”新版本,以AI自学习、全端防护、主动安全三大核心能力,重构网络安全防线。融合AI引擎与DeepSeek-R1模型,实现威胁预测、零日防御、自动化响应,覆盖Web、APP、小程序全场景,助力企业从被动防御迈向主动免疫,护航数字化转型。
从被动防御到主动免疫进化!迈格网络 “天机” AI 安全防护平台,助推全端防护性能提升
|
6月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
312 4
|
9月前
|
弹性计算 运维 Kubernetes
看阿里云操作系统控制台如何一招擒拿网络丢包
阿里云操作系统控制台帮忙客户快速定位问题,不仅成功完成业务部署并实现稳定运行,更有效遏制了持续性成本消耗。
|
11月前
|
存储 消息中间件 弹性计算
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
507 23
|
10月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。
|
传感器 存储 算法
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
本程序基于ECC(椭圆曲线密码学)簇内分组密钥管理算法,对无线传感器网络(WSN)进行MATLAB性能仿真。通过对比网络通信开销、存活节点数量、网络能耗及数据通信量四个关键指标,验证算法的高效性和安全性。程序在MATLAB 2022A版本下运行,结果无水印展示。算法通过将WSN划分为多个簇,利用ECC生成和分发密钥,降低计算与通信成本,适用于资源受限的传感器网络场景,确保数据保密性和完整性。
|
Kubernetes Shell Windows
【Azure K8S | AKS】在AKS的节点中抓取目标POD的网络包方法分享
在AKS中遇到复杂网络问题时,可通过以下步骤进入特定POD抓取网络包进行分析:1. 使用`kubectl get pods`确认Pod所在Node;2. 通过`kubectl node-shell`登录Node;3. 使用`crictl ps`找到Pod的Container ID;4. 获取PID并使用`nsenter`进入Pod的网络空间;5. 在`/var/tmp`目录下使用`tcpdump`抓包。完成后按Ctrl+C停止抓包。
485 12
|
存储 弹性计算 固态存储
阿里云服务器ESSD Entry系统盘测评IOPS、IO读写和时延性能参数
阿里云ESSD Entry云盘是新一代企业级云盘,具备高IOPS、低延迟特性,适合开发与测试场景。它提供10~32,768 GiB容量范围,最大IOPS达6,000,吞吐量150 MB/s,时延1~3 ms。支持按量付费和包年包月,性价比高,特别适合个人开发者和中小企业。详情及价格参考阿里云官网。
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
数据采集 网络协议 JavaScript
网络爬虫性能提升:requests.Session的会话持久化策略
网络爬虫性能提升:requests.Session的会话持久化策略
下一篇
开通oss服务