现场表现:
ssh连接很快,命令响应等非常慢, ls都要反应很长时间。
定位步骤:
1.free、top查看内存和CPU占用情况;(没有耗CPU和内存的)
(1)查看占用CPU资源最多的10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head
(2)占用内存资源最多的10个进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
(3)如果内存buff/cache非常大,可以使用清理命令
sync && echo 3 > /proc/sys/vm/drop_caches
结果发现既没有耗CPU的进程也没有耗内存的进程,CPU和内存都空闲的很。
2.查看磁盘状态
df -h
磁盘状态其实不影响响应速度,暂且司马当活马医.
3.关掉虚拟内存,看是否变快
临时关闭虚拟内存命令
sudo swapoff -a
查看是否关闭:
sudo free -m
Swap:后面都是0就表示关闭成功了。
再次在终端执行各种命令。发现响应确实变快了。经查,发现服务器用的是普通硬盘,没有使用raid卡读写速度较慢。因此影响了内存。
永久关闭虚拟内存
vi /etc/fstab
# 在swap分区这行前加 # 禁用掉,保存退出
对应的临时开启虚拟内存命令是:sudo swapon -a