[Ask] Pemakaian Swap Tinggi Padahal RAM Masih Sisa Banyak


startup

Beginner 2.0
Biasanya swap terpakai apabila memory memamg habis terpakai , mungkin saat compile atau aktifitas web tinggi

Dan ketika sdh masuk swap dia ga akan kembali ke 0 swapnya dan akan stay disitu sebagai cache sampai direstart servernya baru kembali ke 0

Kl di lihat memory nya yg 1G wajar itu terpakai swapnya karena memory yg 16G aja walau real usage mem cm 60 % masih ada 1 atau 2 persen swap terpakai , linux itu uniq , dan yg terbaca di panel td mungkin dia baca dr used mem di free -m & tidak menghitung buffer spare ram usage nya
Yang direstart ini VPSnya (reboot) atau Apachenya ya? Kemudian, solusi selain restart apa ya, agar tidak terjadi downtime.
 

IIXPLANET

Expert 2.0
Yang direstart ini VPSnya (reboot) atau Apachenya ya? Kemudian, solusi selain restart apa ya, agar tidak terjadi downtime.

Biasanya vpsnya pak , sebenernya pemakaian swap ini ga apa2 kok pak , itu buat mencegah system crash apabila kehabisan memory , apalagi misal hd udh pakai ssd misal itu ga akan terlalu bottleneck karna ram usage akun bapak itu kan tidak selalu stuck di 90 > % usage
 

startup

Beginner 2.0
Yang direstart ini VPSnya (reboot) atau Apachenya ya? Kemudian, solusi selain restart apa ya, agar tidak terjadi downtime.
Sudah solve Tuan, tidak perlu reboot, tapi di-off dan on-kan: swapoff -a kemudian swapon -a
 

valent

Apprentice 1.0
Asumsinya alokasi RAM di sistemnya berkecukupan dan yakin nggak bakalan terjadi OOM ketika ada proses yang butuh alokasi memory lebih banyak dalam waktu sesaat:

Set swapiness ke 1 melalui parameter sysctl. Bikin config baru pada direktori sysctl.d, misal "90-swapiness.conf" atau tambahkan parameter swapinessnya ke config yang sudah ada pada direktori ini. Buat apply tinggal reload config sysctlnya.

Code:
vm.swappiness = 1
vm.vfs_cache_pressure = 10

Terkadang meskipun swapiness di set ke 1 masih juga ada proses yang ngeswap, meskipun jumlah ram terpasang lebih dari cukup dan ram tersisa masih sangat lapang, jadi bisa juga dicoba limit swap hanya untuk proses tersebut saja, apabila proses tersebut dijalankan melalui systemd.

Code:
[Service]
. . .
MemorySwapMax=0

Selanjutnya reload systemd daemonnya: "systemctl daemon-reload"
 

startup

Beginner 2.0
Terkadang meskipun swapiness di set ke 1 masih juga ada proses yang ngeswap, meskipun jumlah ram terpasang lebih dari cukup dan ram tersisa masih sangat lapang, jadi bisa juga dicoba limit swap hanya untuk proses tersebut saja, apabila proses tersebut dijalankan melalui systemd.
Iya, ini juga saya alami. Meski swapiness kecil dan RAM masih tersisa lumayan banyak, masih juga ngeswap.
 

Top