لینوکس ۳۰۵؛ شب ۲۳: vCPU، حافظه و مشاهدهٔ منابع domain
فهرست نوشته
تعداد 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 .