{"id":12143,"date":"2025-01-12T11:27:34","date_gmt":"2025-01-12T19:27:34","guid":{"rendered":"https:\/\/www.xh86.me\/?p=12143"},"modified":"2025-01-12T11:27:34","modified_gmt":"2025-01-12T19:27:34","slug":"proxmox-%e4%bc%98%e5%8c%96%ef%bc%88%e6%b5%8b%e8%af%95%ef%bc%89","status":"publish","type":"post","link":"https:\/\/www.xh86.me\/?p=12143","title":{"rendered":"Proxmox \u4f18\u5316\uff08\u6d4b\u8bd5\uff09"},"content":{"rendered":"<p>#!\/bin\/bash<\/p>\n<p># Proxmox \u81ea\u52a8\u4f18\u5316\u811a\u672c\uff08\u5f00\u673a\u81ea\u52a8\u8fd0\u884c\uff09<br \/>\n# \u529f\u80fd\uff1a<br \/>\n# 1. \u6253\u5f00CPU\u8d85\u5f00<br \/>\n# 2. \u6253\u5f00\u5185\u5b58\u8d85\u5f00<br \/>\n# 3. \u542f\u7528\u865a\u62df\u5316\u5d4c\u5957<br \/>\n# 4. \u53bb\u6389\u672a\u8ba2\u9605\u63d0\u793a<br \/>\n# 5. \u5f00\u542fCPU &amp; \u5185\u5b58\u70ed\u63d2\u62d4<br \/>\n# 6. \u542f\u7528GPU\u663e\u5361\u865a\u62df\u5316\u529f\u80fd<br \/>\n# 7. \u5f00\u542fTCP\u591a\u8def\u5f84\u652f\u6301<br \/>\n# 8. \u89e3\u9664VCPU\u9650\u5236<\/p>\n<p># \u521b\u5efa\u7cfb\u7edf\u670d\u52a1\u7528\u4e8e\u5f00\u673a\u81ea\u52a8\u8fd0\u884c<br \/>\ncat &gt; \/etc\/systemd\/system\/proxmox-optimize.service &lt;&lt;EOF<br \/>\n[Unit]<br \/>\nDescription=Proxmox Optimization Service<br \/>\nAfter=network.target<\/p>\n<p>[Service]<br \/>\nType=oneshot<br \/>\nExecStart=\/usr\/local\/bin\/proxmox_optimize.sh<br \/>\nRemainAfterExit=yes<\/p>\n<p>[Install]<br \/>\nWantedBy=multi-user.target<br \/>\nEOF<\/p>\n<p># \u5c06\u4f18\u5316\u811a\u672c\u4fdd\u5b58\u4e3a\u7cfb\u7edf\u547d\u4ee4<br \/>\ncp &#8220;$0&#8221; \/usr\/local\/bin\/proxmox_optimize.sh<br \/>\nchmod +x \/usr\/local\/bin\/proxmox_optimize.sh<\/p>\n<p># \u542f\u7528\u5e76\u542f\u52a8\u670d\u52a1<br \/>\nsystemctl daemon-reload<br \/>\nsystemctl enable proxmox-optimize.service<br \/>\nsystemctl start proxmox-optimize.service<\/p>\n<p># \u6253\u5f00CPU\u8d85\u5f00<br \/>\nsed -i &#8216;s\/args: -cpu .*\/\/g&#8217; \/etc\/pve\/qemu-server\/*.conf<br \/>\nfor vmid in $(qm list | awk &#8216;NR&gt;1 {print $1}&#8217;); do<br \/>\nqm set $vmid &#8211;cpu host,flags=+pcid,+spec-ctrl,+aes<br \/>\necho &#8220;\u5df2\u4e3a\u865a\u62df\u673a $vmid \u542f\u7528CPU\u8d85\u5f00\u3002&#8221;<br \/>\ndone<\/p>\n<p># \u6253\u5f00\u5185\u5b58\u8d85\u5f00<br \/>\nfor vmid in $(qm list | awk &#8216;NR&gt;1 {print $1}&#8217;); do<br \/>\nqm set $vmid &#8211;balloon 0<br \/>\necho &#8220;\u5df2\u4e3a\u865a\u62df\u673a $vmid \u542f\u7528\u5185\u5b58\u8d85\u5f00\u3002&#8221;<br \/>\ndone<\/p>\n<p># \u542f\u7528\u865a\u62df\u5316\u5d4c\u5957<br \/>\necho &#8220;options kvm-intel nested=Y&#8221; &gt; \/etc\/modprobe.d\/kvm-intel.conf<br \/>\nmodprobe -r kvm_intel<br \/>\nmodprobe kvm_intel<\/p>\n<p>echo &#8220;\u865a\u62df\u5316\u5d4c\u5957\u5df2\u542f\u7528\u3002&#8221;<\/p>\n<p># \u53bb\u6389\u672a\u8ba2\u9605\u63d0\u793a<br \/>\nsed -i.bak &#8220;s|data.status !== &#8216;Active&#8217;|false|g&#8221; \/usr\/share\/javascript\/proxmox-widget-toolkit\/proxmoxlib.js<br \/>\nsystemctl restart pveproxy<\/p>\n<p>echo &#8220;\u672a\u8ba2\u9605\u63d0\u793a\u5df2\u79fb\u9664\u3002&#8221;<\/p>\n<p># \u5f00\u542fCPU &amp; \u5185\u5b58\u70ed\u63d2\u62d4<br \/>\nfor vmid in $(qm list | awk &#8216;NR&gt;1 {print $1}&#8217;); do<br \/>\nqm set $vmid &#8211;hotplug memory,cpu,disk,network,usb<br \/>\necho &#8220;\u5df2\u4e3a\u865a\u62df\u673a $vmid \u5f00\u542fCPU &amp; \u5185\u5b58\u70ed\u63d2\u62d4\u3002&#8221;<br \/>\ndone<\/p>\n<p># \u542f\u7528GPU\u663e\u5361\u865a\u62df\u5316\uff08IOMMU\uff09<br \/>\necho &#8220;vfio&#8221; &gt;&gt; \/etc\/modules<br \/>\necho &#8220;options vfio-pci ids=10de:1db6,10de:10f0&#8221; &gt; \/etc\/modprobe.d\/vfio.conf<br \/>\ngrub-mkconfig -o \/boot\/grub\/grub.cfg<br \/>\nupdate-initramfs -u<\/p>\n<p>sed -i &#8216;s\/GRUB_CMDLINE_LINUX_DEFAULT=&#8221;\/GRUB_CMDLINE_LINUX_DEFAULT=&#8221;intel_iommu=on amd_iommu=on \/&#8217; \/etc\/default\/grub<br \/>\nupdate-grub<\/p>\n<p>echo &#8220;GPU\u663e\u5361\u865a\u62df\u5316\u529f\u80fd\u5df2\u542f\u7528\u3002&#8221;<\/p>\n<p># \u542f\u7528TCP\u591a\u8def\u5f84\u652f\u6301\uff08Multipath TCP\uff09<br \/>\napt update &amp;&amp; apt install -y mptcpd<br \/>\nmodprobe mptcp_binder<br \/>\nmodprobe mptcp_mptcp<\/p>\n<p>echo &#8220;TCP\u591a\u8def\u5f84\u652f\u6301\u5df2\u542f\u7528\u3002&#8221;<\/p>\n<p># \u89e3\u9664VCPU\u9650\u5236<br \/>\nfor vmid in $(qm list | awk &#8216;NR&gt;1 {print $1}&#8217;); do<br \/>\nqm set $vmid &#8211;sockets 1 &#8211;cores $(nproc) &#8211;vcpus $(nproc)<br \/>\necho &#8220;\u5df2\u4e3a\u865a\u62df\u673a $vmid \u89e3\u9664VCPU\u9650\u5236\uff0c\u8bbe\u7f6e\u4e3a\u6700\u5927\u6838\u5fc3\u6570 $(nproc)\u3002&#8221;<br \/>\ndone<\/p>\n<p># \u91cd\u542fProxmox\u670d\u52a1<br \/>\nsystemctl restart pvedaemon pveproxy<\/p>\n<p>echo &#8220;\u6240\u6709\u4f18\u5316\u9879\u5df2\u5b8c\u6210\u5e76\u8bbe\u7f6e\u4e3a\u5f00\u673a\u81ea\u542f\u3002&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>#!\/bin\/bash # Proxmox \u81ea\u52a8\u4f18\u5316\u811a\u672c\uff08\u5f00\u673a\u81ea\u52a8\u8fd0\u884c\uff09 # \u529f\u80fd\uff1a # 1. \u6253\u5f00CPU\u8d85\u5f00 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-12143","post","type-post","status-publish","format-standard","hentry","category-proxmox"],"_links":{"self":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/12143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12143"}],"version-history":[{"count":1,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/12143\/revisions"}],"predecessor-version":[{"id":12144,"href":"https:\/\/www.xh86.me\/index.php?rest_route=\/wp\/v2\/posts\/12143\/revisions\/12144"}],"wp:attachment":[{"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xh86.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}