مدیریت حافظه در سیستم عامل های لینوکسی
در این مقاله یک لیست از نرم افزار های مانیتور حافظه در سیستم عامل های لینوکسی, و نحوه ثبت swap بیان میشود.
نرم افزار مانیتور
گرافیکی
stacer
یک برنامه با UI زیبا است که مدیریت حافظه را به کاربر نشان میدهد.
sudo apt install stacer
plasma-systemmonitor
به صورت پیش فرض در Ubuntu نصب شده, و یک رابط گرافیکی برای مانیتور.
خط فرمان
حافظه از فایل
اطلاعات حافظه, در فایل /proc/meminfo ذخیره میشود.
watch -n 5 "cat /proc/meminfo | grep Mem"
حافظه با free
با دستور free میتوانید حافظه استفاده شده و ساختار حافظه را ببینید.
free -h
برای بروز شدن نتایج, آن را با دستور watch ترکیب میکنیم.
watch -n 5 free -m
مصرف رم با top
با دستور top میتوان مصرف RAM و CPU را به صورت دقیق مشاهده کرد.
top -n 10
با فشردن shift + m میتوانید ردیف ها را بر اساس مصرف RAM مرتب کنید.
swap
کمبود حافظه swap, از مشکلاتی است که باعث توقف کردن برنامه ها, و پیغام is not responding و متوقف شدن کل سیستم عامل میشود؛ برای حل این مشکل, میتوانید script زیر را در یک فایل ذخیره کنید و با دستور bash اجراء کنید؛ جزئیات اسکریپت زیر در پایین آورده شده است..
# If user UID is not 0 or is not root
if [ "$EUID" -ne 0 ]; then
echo -e "You are not authorized. try with root access."
exit
fi
# Set Swap file size - two times of the physical RAM
SIZE=$((2 * $(free -g | grep Mem | awk '{print $2}')))
# Check if Swap exists
SWAP_EXISTS=$(free | awk '/^Swap:/ {exit !$2}')
# Set swap off
echo -e "\n ↻ 1. Setting swap off."
if $SWAP_EXISTS; then
swapoff -a
echo -e " ✓ 1. Set swap off.\n"
else
echo -e "✓ Swap is already off.\n"
fi
# Making swap file.
echo -e " ↻ 2. Writing $SIZE gigs of null bytes to swapfile."
dd if=/dev/zero of=/swapfile bs=1G count=$SIZE status=progress
echo -e " ✓ 2. Made a complete swapfile.\n"
# Setting permision only to the root user.
echo -e " ↻ 3. Setting permission only to root user."
chmod 600 /swapfile
echo -e " ✓ 3. Set permission only to root user.\n"
# Setting swapfile.
echo -e " ↻ 4. Setting swapfile as a partition."
mkswap /swapfile
echo -e " ✓ 4. Set swapfile as a partition.\n"
# Enabling swapfile
echo -e " ↻ 5. Enabling swap again"
swapon /swapfile
echo -e " ✓ 5. Enabled swapfile.\n"
برسی وجود swap
برای برسی وجود حافظه swap, دستور زیر را اجراء میکنیم.
sudo swapon --show
غیر فعال کردن
پیش از هرگونه تغیر در swap, باید آن را غیر فعال کنید تا فایل مشغول تغیرات نباشد و خطای Text file busy دهد و اجازه تغیر داشته باشیم.
sudo swapoff -a
ساخت swap
حافظه swap معمولاً ۲ برابر حافظه رم در دسترس انتخاب میشود؛ اگر ram برابر ۴ گیگ باشد, با دستور زیر ۸ گیگ رم به sawp اختصاص داده خواهد شد.
sudo dd if=/dev/zero of=/swapfile bs=1G count=10 status=progress
سطح دسترسی
دسترسی به فایل swap را تنها محدود به کاربر root ldB;kdl.
sudo chmod 600 /swapfile
انتخاب فایل swap
با دستور زیر, فایل خود را به عنوان فایل swap تنظیم میکنیم.
sudo mkswap /swapfile
فعال کردن
sudo swapon /swapfile