Memakai RAM rusak (parsial) di Linux

Linux memiliki fitur untuk melakukan deteksi RAM yang rusak parsial dan menskip bagian RAM tersebut. Dalam keadaan sangat terpaksa, fitur ini bisa dimanfaatkan. Gejala RAM rusak biasanya adalah: crash secara random. Terutama jika ini di OS yang masih “bersih” (baru direinstall).

Sumber: https://poorlydrawnlines.com/comic/an-idea/

Secara umum memakai RAM rusak bukan ide yang baik, dan RAM yang rusak sebaiknya diganti karena sangat berisiko merusak data. Tapi dalam kasus tertentu mungkin kita ingin tetap memakai RAM tersebut karena berbagai alasan, misalnya:

  • Supaya tetap bisa bekerja sambil menunggu RAM baru
  • RAM tidak bisa diganti karena disolder di motherboard
  • Komputer dipakai untuk keperluan tidak penting, misalnya sekedar untuk mainan anak-anak. Atau mungkin sekedar menampilkan iklan untuk pengunjung toko (tidak apa-apa jika sesekali crash)

Bersihkan RAM

Untuk komputer lama, coba dulu untuk mencabut modul RAM, membersihkannya dan memasangnya lagi dengan baik. Dalam kasus tertentu ini bisa memperbaiki masalah RAM.

Check Speed RAM

Sebelum ke langkah yang drastis, hal pertama yang perlu dicek adalah kecepatan dan setting RAM di BIOS. Dalam beberapa kasus, ternyata RAM yang error dalam kecepatan tertentu bisa berjalan dengan baik jika dijalankan dengan kecepatan yang lebih rendah. Tentunya performance akan berkurang jika kecepatan diturunkan, tapi biasanya ini baik daripada sistem yang sering crash.

Beberapa RAM palsu juga mengklaim speednya tinggi (misalnya 3200) tapi jika dipakai dalam speed yang dituliskan maka akan sering terdeteksi error. Kadang kala ini bisa baik-baik saja selama beberapa minggu, lalu kemudian sering error.

Sebuah RAM memiliki data SPD (serial presence detect) yang bisa diakses BIOS agar BIOS bisa tahu parameter yang digunakan untuk modul memori tersebut. Di RAM palsu, kadang ini diset lebih tinggi dari yang seharusnya, dan dikemas ulang sehingga harganya lebih tinggi.

Mencari bagian RAM yang rusak

Cara yang ampuh untuk mengecek RAM adalah dengan memtest86+. Program versi gratisnya sudah cukup. Program ini bisa dijalankan dengan boot disk USB, atau diinstall via grub.

Memtest86

Butuh waktu cukup lama untuk menjalankan program ini agar bisa mendeteksi semua error. Jika ingin yakin dibutuhkan waktu beberapa jam untuk memastikan tidak ada error. Kita bisa membuat agar outputnya dalam format “BADRAM” agar dapat dipakai oleh GRUB.

Mengabaikan bagian RAM yang rusak

Ada beberapa cara agar kernel Linux mengabaikan bagian RAM tertentu:

  • Diberitahu oleh GRUB/bootloader bahwa bagian memori tertentu tidak tersedia (tidak boleh diakses)
  • Diberitahu via opsi command line agar mengabaikan range memori tertentu
  • Diminta agar kernel melakukan pemeriksaan sendiri, dan mengabaikan memori yang error

Opsi pertama (BADRAM) adalah yang paling akurat dan relatif mudah. Pertama kita mencari dulu bagian memori yang mana yang error dengan memcheck86, lalu kita catat daftar bad ram-nya. Kita cukup mengedit /etc/default/grub dan mengisi opsi GRUB_BADRAM, dengan hasil dari memtest86. Setelah itu jangan lupa mengupdate grubnya dengan update-grub.

Opsi kedua adalah memmap, yang bisa diberikan langsung ke kernel. Langkah pertama juga sama: kita menggunakan memtest86 untuk mencari memori yang error, lalu berikutnya kita berikan opsinya ke kernel. Tutorial yang lebih lengkap ada di sini. Masalahnya dengan ini adalah: program pengecek memori yang saya tahu tidak bisa otomatis mengoutputkan dalam format yang kenali oleh memmap. Kelebihan opsi ini adalah: bisa dipakai di sistem yang tidak memakai GRUB.

Opsi terakhir (opsi memtest) adalah termudah. Tapi pemeriksaan yang dilakukan oleh kernel kurang akurat jika dibandingkan dengan memtest86 (jika ingin akurat butuh waktu sangat lama). Kita cukup memberi opsi memtest=n dengan n adalah berapa kali kita ingin pengecekan dilakukan (dokumentasi opsinya bisa dilihat di sini).

Dengan opsi terakhir, waktu boot akan lebih lama. Jika kita memiliki RAM error, lalu dengan kecepatan rendah ternyata tidak error (misalnya RAM palsu), maka RAM patut dicurigai. Supaya yakin di masa depan tidak tiba-tiba error, maka saran saya adalah memakai opsi terakhir untuk memastikan dengan melakukan pemeriksaan singkat setiap kali boot.

Penutup

Sebenarnya Windows juga punya built ini memory tester dan juga punya opsi sederhana untuk menskip memori (silakan lihat ini). Tapi saya sudah lama tidak pernah memakai opsinya di Windows. Kebetulan di Windows lebih sering komputer saya crash karena sebab lain dan bukan karena masalah memori.

Semoga tips ini bisa berguna untuk yang PC-nya memiliki masalah RAM, dan bisa membantu sampai mendapatkan RAM yang baru.

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.