یک اسکریپت پایتون بنویسید که فایل /proc/meminfo را خوانده و مقدار حافظه کل (MemTotal) و حافظه در دسترس (MemAvailable یا در صورت نبود MemFree) را به مگابایت نمایش دهد.
4.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:14 0.0
برای حل این مسئله در پایتون از with open('/proc/meminfo') استفاده کنید، هر خط را بخوانید و با str.startswith('MemTotal:') و str.startswith('MemAvailable:') (یا در صورت نبودن 'MemAvailable' از 'MemFree:') مقدار عددی را با split() جدا کرده و به integer تبدیل کنید. مقدارها در فایل بر حسب کیلوبایت هستند؛ برای نمایش به مگابایت بر 1024 تقسیم کنید و با قالببندی مناسب چاپ کنید — این روش روی سیستمهای لینوکسی و دستگاههای توکار (مثلاً رزبریپای) قابل اجرا است.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
خوبه که MemTotal و MemAvailable (یا در صورت نبود MemFree) را در نظر میگیرید؛ مقادیر در /proc/meminfo به کیلوبایت است و برای نمایش به مگابایت باید آنها را بر 1024 تقسیم کنید. توجه داشته باشید که MemAvailable تخمینی است و گاهی با حافظه آزاد واقعی تفاوت دارد، مخصوصاً در کرنلهای قدیمی. اگر MemAvailable وجود نداشت، استفاده از MemFree به عنوان پشتیبان کار میکند. بهتر است با مدیریت خطاها و تبدیل ایمن مقدارها مواجه شود تا اسکریپت در برابر فرمتهای غیرمنتظره مقاوم باشد.
گزارش