Saya mendapat beberapa kesalahan btrfs dan ext4. Setelah memutuskan untuk menguji RAM saya, saya mengalami kesalahan pengulangan berikut memtester
. Saya selalu mendapatkan kesalahan serupa setelah sedikit menjalankan memtester
. Biasanya dalam satu jam, tetapi butuh 4-5 jam dalam satu waktu.
RAM komputer saya disolder. Saya mendapat slot kosong tambahan. Tidak ada pengaturan di BIOS untuk menonaktifkan RAM terpasang.
Saya sudah berlari:
- Memtest86 + selama 8 pass (~ 8 jam)
- MemTest86 selama 18 berlalu (~ 9 jam)
memtester
danstressapptest
pada Fedora 27 default, diinstal pada USB stick (~ 10 jam)memtester
danstressapptest
pada Ubuntu 17.10 Live default (~ 2 jam)memtester
danstressapptest
pada Ubuntu 17.10 pada stik USB (~ 8 jam)# debsums --changed
satu-satunya file yang diubah adalah gambar tema.
Mereka tidak mencetak kesalahan.
Saya menggunakan Ubuntu 17.10 (ditingkatkan dari 17.04) dengan kernel default. Kernel tidak tercemar. Ini adalah laptop ASUS dengan Intel Haswell i3.
- Juga diuji dengan Linux 4.14.13 dan 4.15.0-rc3, rc4, mainline.
- Juga diuji dengan paket intel-microcode dibersihkan.
Kesalahan dapat direproduksi baik Nouveau dinonaktifkan atau diaktifkan, tidak ada driver biner nvidia yang dimuat.
Daftar hitam modul-modul berikut: mtd
intel_spi_platform
intel_spi
karena mereka tidak memuat pada instalasi Fedora 27 default dan mereka tampaknya merusak beberapa laptop Lenova. Kesalahan belum berhenti.
uname -a
output
Linux hostname 4.13.0-19-generic #22-Ubuntu SMP Mon Dec 4 11:58:07 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
# lsmod
output
https://paste.ubuntu.com/26222245/
# lsmod
Output Fedora 27
https://paste.ubuntu.com/26226473/
Situasi saat ini
Saya telah memasukkan HDD saya ke laptop (laptop cadangan) yang saya kenal baik dan menjalankan tes di sana. Saya mendapat kesalahan. Sekarang saya cukup yakin ini adalah masalah perangkat lunak. Saya tidak pernah dapat memicu kesalahan pada laptop saya dengan Ubuntu yang baru atau dengan Fedora yang mencoba berjam-jam.
Apa yang harus saya lakukan?
Contoh kesalahan:
Loop 6:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : testing 262
FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94000.
FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94008.
FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94010.
FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94018.
FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94020.
FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94028.
FAILURE: 0x00000000 != 0xfffffffeffffffff at offset 0x0ef94030.
FAILURE: 0x00000000 != 0x100000000 at offset 0x0ef94038.
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok
Kesalahan serupa dengan kedua slot RAM penuh:
Loop 1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : testing 4
FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80000.
FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80008.
FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80010.
FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80018.
FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80020.
FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80028.
FAILURE: 0x00000000 != 0x00000050 at offset 0x7da80030.
FAILURE: 0x00000000 != 0xffffffffffffffaf at offset 0x7da80038.
Bit Flip : setting 141
Kesalahan pada stressapptest
:
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e000(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e008(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e010(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e018(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e020(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e028(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e030(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Report Error: miscompare : DIMM Unknown : 1 : 157s
Hardware Error: miscompare on CPU 2(0x2) at 0x7fcc0726e038(0xb0d18:DIMM Unknown): read:0x0000000000000000, reread:0x0000000000000000 expected:0x4a4a4a4a4a4a4a4a
Saya menduga entah bagaimana konfigurasi Ubuntu dikombinasikan dengan perangkat keras Laptop saya yang harus disalahkan atas kesalahan ini. Hampir setiap waktu dalam kemasan delapan.
Info tidak penting, terkait longgar di bawah ini
Tentang kesalahan btrf; Saya menggunakan 17,04. Saya sudah bertanya-tanya di irc btrfs '. Saya telah diberitahu bahwa itu bisa jadi kesalahan perangkat keras atau kesalahan manajemen memori. Sebagian dari halaman metadata btrf diisi dengan nol, sama seperti yang saya alami sekarang. Saya menjalankan memtester hanya beberapa pass, beralih ke ext4 dan menyalahkan driver biner nvidia.
Perintah dan parameternya yang saya gunakan:
# stressapptest -M 10000 -s 1800
10000 adalah memori yang tersedia yang bisa saya uji. Saya mendapatkannya melalui free -m
-s` adalah detik.
# memtester 4096
CPU laptop memiliki 2 core jadi saya biasanya memulai dua instance. 4096 adalah setengah dari memori yang tersedia saat ini melaluifree -m
sumber
memtest86+
dari setiap instalasi Ubuntu LiveCD.Jawaban:
Jawaban yang dihapus sudah dekat
Sebuah jawaban telah dihapus pada T&J ini:
Jawaban saya serupa karena melibatkan manajemen memori tingkat sangat rendah; KASLR di tingkat Kernel.
Apa yang dilakukan KASLR
KASLR singkatan K Ernel A ddress S kecepatan L ayout R andomization. Saya belum pernah mendengarnya diucapkan dengan lantang tetapi dalam pikiran saya saya mengucapkannya "Casler". Pikirkan hantu ramah di mesin. KASLR adalah tindakan pengamanan untuk mengacak lokasi modul kernel mana yang berada. Teorinya adalah kernel lebih sulit untuk diretas ketika Anda tidak dapat mengandalkan sedikit kode yang sama selalu berada di tempat memori yang sama.
Operasi KASLR dapat dianggap sebagai kebalikan dari penguji memori yang berulang kali membaca dan menulis ke lokasi memori yang sama mengharapkan TIDAK ADA PERUBAHAN. Ini menjadi berlawanan, itu menarik saya (perhatikan idiom), untuk melakukan pencarian google pada KASLR dan kesalahan memori. Seseorang khususnya yang tampaknya tidak terkait mungkin pantas menerima pesan tentang github yang terhubung ke T&J ini. Alasannya karena mereka pikir hanya merekalah yang terpengaruh oleh pengalihan alamat memori (jika saya membaca utas mereka dengan benar). Tiga hit pertama berasal dari RedHat yang saya benci untuk ditautkan karena situs web mereka adalah posting sebagian untuk mendapatkan robot pencarian google dan kemudian mereka membuat Anda membayar untuk membaca.
Ada masalah yang diketahui saat KASLR memuat kernel "stuff" ke tengah peta memori yang seharusnya tidak dilakukan. Sayangnya saya tidak dapat mengingat kembali tautan yang saya temukan minggu lalu untuk dimasukkan dalam jawaban malam ini. Tautan memiliki tambalan / solusi untuk mengarahkan KASLR untuk tidak menggunakan lokasi memori tertentu.
Setelah mengkonfirmasi masalah yang diketahui dengan KASLR dan lokasi memori saya berkomentar di bawah pertanyaan untuk menonaktifkannya KASLR dan menjalankan kembali tes memori. Sebuah jawaban menyatakan sepertinya berhasil, jadi saya memposting jawaban ini.
Cara menonaktifkan KASLR
Walaupun saya telah menggunakan opsi baris perintah kernel grub "kaslr" selama beberapa tahun sekarang, itu menjadi default kernel sejak setidaknya versi 4.12 . Untuk menghilangkan KASLR dari memuat gunakan edit
/etc/default/grub
dan ubah baris ini:Anda mungkin memiliki opsi lain selain "tenang" dan "percikan". Langkah penting adalah menambahkan "nokaslr" dan meninggalkan opsi lain di tempatnya.
Kemudian simpan file dan jalankan:
Tentu saja cara lain untuk menonaktifkan KASLR adalah dengan menggunakan Kernel lama seperti 4.4.0 di Ubuntu 16.04.1 ketika KASLR tidak secara otomatis disertakan.
sumber
Masalahnya sangat terdengar seperti korupsi bit acak dari RAM. Dalam pengalaman saya, MemTest86 adalah tes "terlalu mudah" untuk perangkat keras. Ini akan menemukan memori yang benar-benar buruk, tetapi sedikit masalah akan sering tidak diperhatikan.
Jika Anda ingin tahu apakah ingatan Anda bagus, coba jalankan Prime95 dalam mode swa-uji / penyiksaan yang dikonfigurasi untuk menggunakan RAM sebanyak mungkin.
Tes bagus lainnya adalah menjalankan uji rowhammer dua sisi selama beberapa jam.
Saya percaya bahwa jika Prime95 dan rowhammer dua sisi tidak dapat menemukan masalah dengan memori Anda, itu mungkin berfungsi dengan benar. Namun, hanya menjalankan MemTest86, mengkompilasi program, menginstal OS, bermain game mungkin tampak berfungsi bahkan jika memori Anda sedikit buruk (pernah ada, melakukan itu - dan mendapat data yang rusak dalam jangka panjang).
sumber