我有一台 CentOS 6.5 x86-64 KVM 服务器,上面有一堆不同类型的客户虚拟机,主要是 EL5 和 EL6。但是,其中只有一个虚拟机每隔几天就会崩溃:
pthread_create failed: Resource temporarily unavailable
以下是完整日志/var/log/libvirt/qemu/vws3-pp.log
:
2014-07-24 21:27:27.451+0000: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin QEMU_AUDIO_DRV=none
/usr/libexec/qemu-kvm -name vws3-pp,process=qemu:vws3-pp -S -M rhel6.5.0
-enable-kvm -m 1536 -redhat-disable-KSM -realtime mlock=on
-smp 1,sockets=1,cores=1,threads=1 -uuid d11de823-8bab-4e8d-8457-61ef7ab877a7
-nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/vws3-pp.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
-drive file=/vm/prod/vws3-pp-disk1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=writethrough
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
-netdev tap,fd=22,id=hostnet0,vhost=on,vhostfd=32
-device virtio-net-pci,netdev=hostnet0,id=net0,bus=pci.0,addr=0x3
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
-vnc 127.0.0.1:9,password -vga cirrus
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5
char device redirected to /dev/pts/5
pthread_create failed: Resource temporarily unavailable <==== ### HERE ####
2014-07-29 15:29:52.063+0000: shutting down
盒子上还有其他 8 个虚拟机,它们都运行良好,运行了几个月,只有这个虚拟机每隔几天就会崩溃。这个虚拟机没有什么特别之处 - 非常标准的 LAMP,没有超载 - 我想不出这个虚拟机和其他没有问题的虚拟机之间有什么显著的区别。其中一些非常繁忙,但仍然非常稳定。
我在网上的某个地方找到了一个建议,建议设置max_processes = 4096
并/etc/libvirt/qemu.conf
重新启动该盒子 - 这样做了但没有帮助。虚拟机今天早上又无缘无故崩溃了。
新信息:
事实证明,虚拟机在rdiff-backup
从远程备份服务器运行时总是会死机,并且大多数情况下,rdiff-backup-data/backup.log 中的最后一条日志(在远程端,即不受崩溃影响)是:
Processing changed file tmp
Incrementing mirror file /extpool/backup/vws3-pp/tmp
即使/tmp/**
从备份中排除了。它确实可能在/usr
字母顺序中下一个是失败/
,谁知道呢……
备份每晚运行,但虚拟机每周仅崩溃一次。
什么情况rdiff-backup
如此奇怪以至于导致 KVM 客户机死机pthread_create failed: Resource temporarily unavailable
?
有任何想法吗?
答案1
查看
cat /proc/`pidof qemu-kvm`/limits
查看重启后限制是否实际设置。