fd过小的问题排查及修复
问题现象:
Qemu-kvm fd过小,导致文件cp过慢,或者做文件系统等大量读写的操作卡住,尤其在虚机挂多块盘的时候容易发生
现象截图
进程卡死不动,ps aux 查看 进程状态是D+,kill不掉
进一步检查配置:
进对应的计算节点,找到对应虚机的进程,查看
如图所以就是设置偏小。
解决方法
问题虚机和存量虚机 :
prlimit --pid 32699 --nofile=409600:409600
修改对应pid号,该命令即时对虚机生效,卡住的进程即时会恢复,但是虚机一旦重启会复原。
永久生效:
查看所有计算节点的如下文件
/usr/lib/systemd/system/libvirtd.service
将红框标出的值改为409600
systemctl daemon-reload
systemctl restart libvirtd
注意修改后,已经在运行的虚机无法生效,需要硬重启虚机。对于没有问题的虚机,建议可等待虚机自然重启;对于问题虚机,可再prlimit --pid 32699 --nofile=409600:409600即时生效