Cấp phát RAM trong nền tảng ảo hóa OpenVZ phụ thuộc vào 3 tham số chính là:
- kmemsize: khuyến cáo cấp 10% lượng RAM, tham số được tính bằng Byte
- oomguarpages: Là RAM thực được cấp, được tính bằng pages (1 page = 4KB)
- privvmpages: là lượng RAM tổng chứa cả RAM thực và Burst, và cũng được tính bằng pages
Để kiểm tra các tham số này, ta dùng lệnh: cat /proc/user_beancounters
Trong đó, cột held là đã sử dụng, maxheld là lượng tối đa đã từng sử dụng đến, barrier là giới hạn được cấp, limit cũng là giới hạn được cấp "cứng".
VPS
sử dụng RAM vượt mức barrier hay limit đều overload, điểm khác nhau
giữa 2 giới hạn này là limit là giới hạn vượt tối đa và khi chạm limit,
sẽ bị tính lỗi, cột failcnt thể hiện lượng RAM dùng vượt mức.
Cách kiểm tra đơn giản mà không phải tính toán, là tạo 1 script đơn giản như sau:
nano -w vzfree
Dán các dòng lệnh sau:
#!/bin/bash
x=$(cat /proc/user_beancounters |grep privvmpages|awk 'BEGIN{
cur=max=lim=0; }{ cur+=$2;max+=$3;lim+=$4 } END {print
cur*4/1024,max*4/1024,lim*4/1024}')
kmemsize=$(cat /proc/user_beancounters |grep kmemsize|awk 'BEGIN{ cur=max=lim=0; }{ lim+=$5 } END {print lim/1048576}')
guarantee=$(cat /proc/user_beancounters |grep oomguarpages|awk 'BEGIN{
cur=max=lim=0; }{ lim+=$4 } END { print lim*4/1024}') used=$(echo $x|
awk '{print $1}')
maxused=$(echo $x| awk '{print $2}') burst=$(echo $x| awk '{print $3}')
echo "VPS Info:"
echo "Used: $used MB"
echo "Max used: $maxused MB"
echo "Kernel Memory: $kmemsize MB"
echo "Guarantee RAM: $guarantee MB"
echo "Burst RAM: $burst MB"
Thoảt và lưu lại script bằng lệnh Ctrl+x, Y
chmod 755 vzfree
Chạy script:
./vzfree