現場表現:
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