日常服务器运维,大量时间耗在查看日志、排查负载、定位进程、磁盘问题上。掌握一些高频实用小技巧,可以少敲很多重复命令,快速定位故障。
一、系统负载与CPU排查
top
交互小技巧
top
按 P:按CPU使用率排序
按 M:按内存占用排序
按 1:展开查看每一颗CPU核心状态
按 q 退出
小提示:load average 数值大于CPU核心数,代表系统处于过载状态。
快速看CPU核心数
nproc
cat /proc/cpuinfo |grep processor |wc -l
二、内存查看,不要只看free
free -h
重点看 available,这个才是系统实际可分配内存,不要被buff/cache迷惑。
查看占用内存最高的前10个进程:
ps -aux --sort=-%mem | head -10
图片
三、磁盘IO与空间排错
查找哪个目录占用磁盘最高
du -sh /*
逐层往下找,快速定位大文件目录。
磁盘满了,但df看不到大文件
常见场景:文件已经被删除,但进程还在占用,df不释放空间。
lsof |grep deleted
找到对应进程,重启进程即可回收空间,不要盲目删文件。
简单看磁盘IO压力
iostat -x 2
四、日志快速检索,拒绝cat大日志
千万不要cat几十GB日志,极易占满终端。
查看日志尾部实时刷新
tail -f /var/log/messages
只过滤报错关键字
grep -i error /var/log/messages
查看最近50行
tail -n 50 /var/log/messages
生产建议:大日志优先grep、tail,避免直接cat。
五、端口与进程排查
查看哪个进程占用端口
ss -tulnp
老版本netstat已逐步弃用,优先使用ss命令。
根据PID查进程启动路径
ls -l /proc/[PID]/exe
六、历史命令排查,事故回溯
history
想要查找曾经执行过的某条命令,直接搜索:
history |grep rm
重要服务器建议开启history时间戳,方便故障回溯。
七、文件与目录权限快速处理
递归修改目录下所有文件夹权限755,文件644(线上常用)
find /data -type d -exec chmod 755 {} \;
find /data -type f -exec chmod 644 {} \;
八、善用screen,防止会话断开中断任务
跑长时间任务(备份、数据迁移),直接ssh断开会终止程序。
screen -S task01 # 创建会话
screen -r task01 # 恢复会话
快捷键 Ctrl+A+D 后台挂起会话。
运维小结
排错顺序:负载 →内存→磁盘IO→端口→日志,按顺序排查少走弯路。
生产环境,尽量避免直接cat超大日志,优先tail、grep。
跑长时间任务,记得screen,避免网络中断任务终止。
遇到磁盘满,先检查lsof deleted已删除未释放文件。