我们有一服务器,上面运行着两个mysql实例,这几天iowait一直很高,在20-30%,下午特地专门排查和解决了下,相关过程整理如下。
该服务器有两个挂载盘,服务器在阿里云上,一个系统盘,一个数据盘。
因为非生产库,测试kill -9 mysql-pid后,top如下:
虽然mysql占用内存释放了,但是swap还是占着,虽然swap没有释放,但其不一定会用到,如下:
可见,swap没有活动,但是io很高(block out),bo是写磁盘。
如果不放心swap占用的话,可以通过下列命令释放swap
# sync
# echo 3 > /proc/sys/vm/drop_caches
# swapoff -a
执行后,会将swap中缓存的数据刷新到磁盘,并逐渐释放,如下: