qm list | grep -e 'running' -e 'VMID'
VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
101 Debian11 running 1024 8.00 33992
103 OPWRT running 256 0.62 3121
echo "VMID NAME PID %CPU %MEM" | awk '{print $1"\t"$2"\t"$3"\t"$4"\t"$5}'
ps aux | grep 'kvm -id' | awk '{print $13"\t"$15"\t"$2"\t"$3"\t"$4}' | head -n-1
VMID NAME PID %CPU %MEM
103 OPWRT 3121 6.4 4.1
101 Debian11 33992 0.5 9.6
# qm stop VMID
# 原理其实很简单,遍历 /proc下面的进程,查看 /proc/xxx/cmdline,确定是否是kvm进程,如果是,读取 /proc/xxx/stats,得到它的load
备份/dev/sda 开头64M efi启动分区,并利用gzip工具进行压缩
dd if=/dev/sda bs=1M count=64 | gzip > /tmp/efi.img.gz
把 efi启动分区 恢复到硬盘设备
gunzip -dc /tmp/efi.img.gz | dd of=/dev/sda
echo \
CiMjIE5hbm8g5b+r5o236ZSu6K6+572u6K6w5LqL5pys57G75Ly8IC9ldGMvbmFub3JjCmJpbmQg\
XlEgZXhpdCBhbGwKYmluZCBeUyBzYXZlZmlsZSBtYWluCmJpbmQgXlcgd3JpdGVvdXQgbWFpbgpi\
aW5kIF5PIGluc2VydCBtYWluCmJpbmQgXkggaGVscCBhbGwKYmluZCBeSCBleGl0IGhlbHAKYmlu\
ZCBeRiB3aGVyZWlzIGFsbApiaW5kIF5HIGZpbmRuZXh0IGFsbApiaW5kIF5CIHdoZXJld2FzIGFs\
bApiaW5kIF5EIGZpbmRwcmV2aW91cyBhbGwKYmluZCBeUiByZXBsYWNlIG1haW4KYmluZCBNLVgg\
ZmxpcG5ld2J1ZmZlciBhbGwKYmluZCBeWCBjdXQgYWxsCmJpbmQgXkMgY29weSBtYWluCmJpbmQg\
XlYgcGFzdGUgYWxsCmJpbmQgXlAgbG9jYXRpb24gbWFpbgpiaW5kIF5BIG1hcmsgbWFpbgoKIyMg\
TmFubyDlkK/nlKjpvKDmoIfjgIHooYzlj7flkozorr7nva7popzoibIKc2V0IG51bWJlcmNvbG9y\
ICAgeWVsbG93LG1hZ2VudGEKc2V0IGtleWNvbG9yICAgICAgbGlnaHR5ZWxsb3csZ3JlZW4Kc2V0\
IGZ1bmN0aW9uY29sb3Igd2hpdGUscmVkCnNldCBsaW5lbnVtYmVycwpzZXQgbW91c2UKCg== \
| base64 -d >> /etc/nanorc
# 这段神奇的密文,可以在你进入容器的时候,给容器中的nano修改快捷键绑定
# 主要是 Docker 容器中使用,安装 vim 太大了; Nano 主程序只要300多K,单文件就能使用
docker cp /usr/bin/nano python3:/usr/bin/nano
docker cp /usr/bin/busybox python3:/usr/bin/busybox
# 复制 busybox vi wget ping 都有了