查看占用CPU最高的KVM
ps -eo pid,pcpu,comm --sort=-pcpu | grep 'qemu-system' | head -n 10 | while read pid pcpu _; do name=$(tr '\0' ' ' < /proc/"$pid"/cmdline 2>/dev/null | grep -oP '(?<=-name )\S+' | head -n1) if [[ -z "$name" ]]; then name="Unknown (PID:$pid)" fi printf "CPU%%: %-8s PID: %-8s KVM: %s\n" "$pcpu" "$pid" "$name" done
ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | grep qemu | head -n 20
# 批量查询前 10 个高 CPU 的 QEMU 进程对应的 VM 名称
ps -eo pid,%cpu,%mem,cmd --sort=-%cpu | grep -E 'qemu.*kvm[0-9]+' | head -n 15 | while read pid cpu mem cmd; do
vm=$(echo "$cmd" | grep -o 'kvm[0-9]\+' | head -1)
printf "PID: %7s | VM: %-10s | CPU%%: %6s | MEM%%: %s\n" "$pid" "${vm:-unknown}" "$cpu" "$mem"
done
前15
ps aux --sort=-%cpu | head -15
# 查看 14:05 前后是否有服务启动/崩溃
journalctl --since "2026-03-04 14:00:00" --until "2026-03-04 14:10:00" | grep -E "(Started|Failed|killed|oom)"