Liunx常用命令总结
# Nginx日志分析
# 总PV
wc -l dev-gjzwwx.game.access.log
# 每天的PV数
awk '{print substr($4 , 2, 11)}' dev-gjzwwx.game.access.log | sort |uniq -c| sort -rn| head -n 10
# 按IP算UV
awk '{print $1}' dev-gjzwwx.game.access.log | sort | uniq | wc -l
# 每天的UV数
awk '{print substr($4,2,11) " " $1}' dev-gjzwwx.game.access.log | sort | uniq | awk '{uv[$1]++;next}END{for(date in uv) print uv[date] " " date}'| sort -rn| head -n 10
# 统计被访问最多的页面
cat dev-gjzwwx.game.access.log| awk '{print $7}'|sort|uniq -c | sort -rn | head -n 10
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# CPU监控相关命令
- **top: **Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况及总体状况。实时显示系统中各个进程的资源占用状况及总体状况。
- mpstat:实时系统监控工具,它会报告与多核心CPU相关的统计信息。
apt install sysstat -y
mpstat 1 #每隔一秒输出CPU占用情况
1
2
2
# 内存监控相关命令
- free: 可以用来快速查看主机的内存使用情况,包括了物理内存和虚拟内存。后面可以加上参数:-h和-m,否则默认会以kb为单位显示。
free -h
1
相关参数说明:
- total:物理内存大小,就是机器实际的内存
- used:已使用的内存大小,这个值包括了 cached 和 应用程序实际使用的内存
- free:未被使用的内存大小
- shared:共享内存大小,是进程间通信的一种方式
- buffers:被缓冲区占用的内存大小
- cached:被缓存占用的内存大小
- vmstat: vmstat(Virtual Meomory Statistics,虚拟内存统计)是对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。命令格式:vmstat 2 100,其中2表示刷新间隔,100表示输出次数。
vmstat 2 100
1
# 网络监控
- sar: sar是一个在Unix和Linux操作系统中用来收集、报告和保存CPU、内存、输入输出端口使用情况的命令。SAR命令可以动态产生报告,也可以把报告保存在日志文件中。
sar -n DEV 3 100
1
- netstat: netstat命令一般用于检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据
netstat -aup # 输出所有UDP连接状况
netstat -atp # 输出所有TCP连接状况
netstat -s # 显示各个协议的网络统计信息
netstat -i # 显示网卡列表
netstat -r # 显示路由表信息
1
2
3
4
5
2
3
4
5
- tcpdump: tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。格式:
apt install tcpdump -y
tcpdump -i eth0 -c 3
1
2
2
# 磁盘监控
- iostat: iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。常用格式:
iostat -x -k 2 100 # 2表示刷新间隔,100表示刷新次数
1
上次更新: 2022/12/01, 11:09:34