Proxy Server dengan OS ubuntu server kadang menjadi momok tersendiri karena proxy server akan menggunakan memory buat OS, metadata, object_hit_memory, tcp buffer.
Sebenarnya bukan OS Ubuntu Server saja, OS yg lainnya juga begitu.
Secara logika lebih baik kita mengecilkan 'cache_mem' pada squid.conf - nya, itu yang paling masuk akal. Akan tetapi kadang kita menginginkan kinerja proxy server yang optimal (atau kadang enggak tau...ehehee..) sehingga kita bikin cache_mem sebesar RAM yg kita gunakan untuk proxy server.
1. clear pagecache
echo 1 > /proc/sys/vm/drop_caches
2. clear inodes dan dentries
echo 2 > /proc/sys/vm/drop_caches
3. clear pagecache, inodes & dentries
echo 3 > /proc/sys/vm/drop_caches
Untuk clear secara periodik, kita bisa membuat 'cron' dengan salah satu perintah di atas:
crontab -e
* */2 * * * echo 3 > /proc/sys/vm/drop_caches
Bentuk 'cron' di atas adalah untuk clear pagecache, inodes & dentries setiap 2 jam sekali.
Contoh lain :
crontab -e
0 6,18 * * * sync
1 6,18 * * * echo 3 > /proc/sys/vm/drop_caches
Bentuk 'cron' di atas adalah untuk clear pagecache, inodes & dentries setiap jam 6 pagi dan jam 6 sore.
Perhitungan cron :
* * * * * path/to/script
| | | | |_ Hari (minggu = 0, senin = 1, dst...)
| | | |___ Bulan (jan = 1, feb = 2, dst...)
| | |_____ Tanggal (1 - 31, sesuaikan tanggal dalam bulan tsb)
| |_______ Jam (0 - 23) |_________ menit (0 - 59)
Kode-kode yang lain :
@reboot (jalan pada waktu start up)
@yearly (jalan sekali dalam satu tahun)
@annually (sama seperti @yearly)
@monthly (jalan sekali dalam satu bulan)
@weekly (jalan sekali dalam satu minggu)
@daily (jalan sekali dalam satu hari)
@midnight (sama seperti @daily)
@hourly (jalan sekali dalam satu jam)
Contoh:
@daily echo 3 > /proc/sys/vm/drop_caches
Maka proses clear akan jalan setiap hari sekali.
Cek Usage memory :
uptime
free -m
# squidclient mgr:info |grep "Storage Mem size:"
# echo 3 > /proc/sys/vm/drop_caches
# squidclient mgr:info |grep "Storage Mem size:"