今天面试被问到了,专门整理一下;
一般卡顿主要是以下几个方面:
1:内存使用,可以用free -g来查
当观察到free栏已为0的时候,表示内存基本被吃完了,那就释放内存吧。
释放内存:
sync
echo 3 > /proc/sys/vm/drop_caches
sync表示将内存缓存区内容立即同步到磁盘,为了保证安全可以多执行几次。
2:磁盘使用, df-h
当发现磁盘使用率很高时,那就要释放磁盘空间了,删除一些不必要的文件(查看各个目录占用磁盘空间)
du命令:查看目录和文件的磁盘占用情况
查看指定目录的磁盘占用情况:
du -sh /home/zhubao
查看当前目录下的所有一级子目录和文件的磁盘使用情况:
du -sh *
-h或–human-readable 以K,M,G为单位,提高信息的可读性;
-s或–summarize 仅显示总计,即当前目录的大小。
3:磁盘I/O使用, iostat-x 1
当发现最右侧%util很高时,表示IO就很高了,若想看哪个进程占用IO,执行iotop命令查看
4:CPU使用 使用top命令
图中红框里表是cpu使用情况,最右侧的%id表示剩余,若很低,则表示cpu被吃完了,在top界面按shift+p对进程使用cpu排序,能看到哪些进程占用cpu较多。
具体的Top可以参考https://blog.csdn.net/csdn066/article/details/77171018,这个写的很详细