تعداد vCPU و سهم CPU یکی نیستند. امشب config و مصرف واقعی را با virsh بررسی و یک محدودیت کوچک و قابل برگشت اعمال می‌کنیم.

این جلسه بخشی از دورهٔ لینوکس ۳۰۵ در ۶۰ شب است.

جایگاه در دوره: هدف‌های 351.4 آزمون 305-300.

محیط: lab01، بودجهٔ RAM شب ۴ و baseline ثبت‌شده؛ اجرای بار سنگین/ناشناخته لازم نیست.

virsh -c qemu:///system domstats lab01
virsh -c qemu:///system dommemstat lab01
virsh -c qemu:///system vcpuinfo lab01
virsh -c qemu:///system schedinfo lab01
virsh -c qemu:///system domblkstat lab01 vda

پارامترهای schedinfo به backend/kernel وابسته‌اند. آمار memory به balloon/Agent و قابلیت guest وابسته است؛ مقدار خالی را صفر مصرف فرض نکن.

تغییر آفلاین مشخص#

XML inactive را backup کن، lab01 را shutdown و خاموشی را تأیید کن. برای تمرین تعداد vCPU را از دو به یک در config تغییر بده:

virsh -c qemu:///system setvcpus lab01 1 --config
virsh -c qemu:///system start lab01

داخل guest با lscpu تعداد آنلاین را بررسی کن. hotplug با –live به maximum تعریف‌شده، model و driver نیاز دارد؛ همان فرمان config را تضمین تغییر فوری ندان.

pinning با vcpupin جای quota نیست؛ CPU host واقعی را انتخاب و مقدار قبل را ذخیره کن. NUMA placement، hugepages و host-passthrough می‌توانند migration به host متفاوت را محدود کنند. برای سهم زمانی CPU، cputune/quota را مطابق XML و cgroup backend نصب‌شده تنظیم کن و مصرف/latency را بسنج.

آزمون: guest همچنان سرویس می‌دهد و مشاهدهٔ CPU با تغییر config سازگار است. memory reserve، host OOM و استفادهٔ I/O را نیز ثبت کن؛ نرخ guest تنها معیار ظرفیت نیست.

بازگشت: خاموش، vCPU config را به دو برگردان و دوباره boot/درخواست تازه بگیر. تنظیم‌های pinning/quota/balloon را فقط اگر تغییر داده‌ای با همان scope برگردان.

منبع: CPU tuning ، virsh resource commands .