监控IO磁盘性能
命令如下:
iostat -x 磁盘使用
iotop 磁盘使用
-
%util看一个硬盘的健康情况,
-
安装iotop
[root@localhost ~]# yum install -y iotop
- iotop命令,主要是看IO>那一栏,看磁盘的性能
free查看内存使用情况
概念:
free命令可以查看当前系统的总内存大小以及使用内存的情况。
字面意思:
total 内存总大小;
used 真正使用的实际内存大小;
free 剩余物理内存大小(纯剩余);
shared 共享内存大小,不用关注;
buff/cache 分配给buffer和cache内存总共有多大;
available
free三个单位选项:
-m 兆
-g G
-h 在具体在数字后加上单位
磁盘的数据到CPU中间需要经过内存过程:
0000(内存) -- 内存(cache) -- CPU #为了有一个缓和
CPU计算完了数据,需要转到磁盘,中间经过内存:
cpu(0000) -- 内存 (buff) -- 磁盘
公式:
total=used+free+buff/cache
avalible包含free和buff/cache剩余部分
free 直接查看内存使用的命令
Mem 是内存的使用情况 Swap 交换分区使用情况
ps命令 监控系统状态
STAT部分说明:
D 不能中断的进程
R run状态的进程
S sleep状态的进程
T 暂停的进程
Z 僵尸进程
< 高优先级进程
N 低优先级进程
L 内存中被锁了内存分页
s 主进程
l 多线程进程
+ 前台进程
- ps 查看系统进程 ,用法 ps aux 和 ps -elf ,示例如下:
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.6 128164 6824 ? Ss 5月06 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0.0 0.0 0 0 ? S 5月06 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 5月06 0:00 [ksoftirqd/0]
.......
- 如何查看一个进程是否在运行,示例如下: [root@localhost ~]# ps aux | grep nginx root 44476 0.0 0.0 112676 984 pts/1 R+ 01:42 0:00 grep --color=auto nginx
netstat 查看网络状态
netstat 查看网络状态
netstat -lnp 查看监听端口
netstat -an 查看系统的网络连接状况
netstat -lntp 只看出tcp的,不包含socket
ss -an 和nestat异曲同工
分享一个小技巧:
netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
#查看并发,有多少客户端在连接你
查看端口 netstat -lnp
l是监听的意思
Linux下抓包工具 tcpdump
用法:
tcpdump -nn
tcpdump -nn -i ens33 #指定网卡查看
tcpdump -nn port 80 #指定端口查看
tcpdump -nn not port 22 and host 192.168.0.100 #指定非22端口的IP查看
tcpdump -nn -c 100 -w 1.cap #指定100个包 存到1.cap文件里去
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"
yum install -y wireshark
安装tcpdump
[root@localhost ~]# yum install -y tcpdump
tcpdump -nn ,两个nn,数字形式显示出来,第二个n代表端口号。否则出现的是主机名
[root@localhost ~]# tcpdump -nn -i ens33 #-i 指定网卡