مدیریت حافظه در سیستم عامل های لینوکسی

در این مقاله یک لیست از نرم افزار های مانیتور حافظه در سیستم عامل های لینوکسی, و نحوه ثبت 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
comments