Arch Linux menjadi tidak responsif dari khugepage

8

Saya pengguna VMware workstation 10.0.3 yang berat, dan karena itu saya memiliki 32GB RAM di sistem saya. Satu-satunya sistem operasi saya adalah Arch Linux, menggunakan Unity untuk desktop.

Biasanya ketika saya memiliki dua mesin virtual yang berjalan dengan sekitar 3GB RAM ditunjuk untuk masing-masing, sangat sering dan secara acak seluruh sistem menjadi tidak responsif selama beberapa detik.

Menjalankan "top" di terminal, pelakunya tampaknya adalah perintah khugepaged, yang berjalan saat sistem tidak responsif pada 100% CPU dan kemudian menghilang.

Apakah ada cara untuk menghindari hal ini? Saya telah googled tentang khugepage, tetapi saya hanya menemukan posting kuno dari 2011 atau pertanyaan yang belum terjawab.

Ini adalah spesifikasi sistem lengkap saya:

  • CPU: Intel i5 [email protected]
  • 32GB Corsair Vengeance RAM @ 2400MHz
  • M / B ASrock Z87 Pro 4
Angelos Kyritsis
sumber
Seperti apa pengaturan swap Anda? Gantung semacam itu sering dikaitkan dengan penggunaan swap. Bisakah Anda memeriksa swap lain kali itu hang? Apakah hanya menggantung ketika bertukar aktif?
terdon
Mengapa harus menukar dengan RAM 32GB? Ini tidak mendekati RAM fisik. Saya memiliki partisi swap 1GB kecil - karena menggunakan SSD dan saya tidak ingin menyia-nyiakan real estat. Saya belum mengubah swappiness, saya kira itu pada nilai default.
Angelos Kyritsis
Nah, arch memiliki pengaturan default ke 60 yang artinya akan mulai bertukar jauh sebelum RAM habis. Saya tidak mengatakan itu swap pasti tapi sepertinya. Coba atur nilai yang lebih rendah.
terdon
Oke, saya telah menetapkannya ke 5. Saya akan memberi tahu Anda jika itu membuat perbedaan.
Angelos Kyritsis

Jawaban:

10

Saya memiliki masalah serupa di Ubuntu. Solusi yang saya gunakan adalah:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag

Sumber solusinya adalah dalam laporan bug Fedora "khugepaged eating 100% CPU" . Bug tidak pernah diperbaiki.

Ini kurang drastis daripada menonaktifkan seluruh transparent_hugepagedukungan. Penjelasan terperinci tentang apa yang dilakukan perintah dapat ditemukan dalam dokumentasi dukungan hugepage transparan .

Pawel Jasinski
sumber
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag; echo 0 | sudo tee /sys/kernel/mm/transparent_hugepage/khugepaged/defrag
Treviño
@ Trevino, mungkin saya bertanya apa perbedaan dengan apa yang penulis jawabannya mengusulkan: mengapa orang harus menggunakan | sudo teedalam manfaat dari >?
Joma
1
@Joma sudo echo $value > outputtidak bekerja di Ubuntu, Anda perlu menggunakan teetriknya, atau melakukannya dari sudo -sshell.
Treviño
Serius, aku mencintaimu untuk itu, @ pawel-jasinski - pertama kalinya dalam 5 tahun aku benar-benar BISA BEKERJA dengan VMware tanpa itu secara teratur membekukan host dan guest OS.
Simon A. Eugster
1
@Joma Perintah pertama harus dijalankan dari shell root. Dengan sudo echo X > Y, hanya echo Xdijalankan sebagai root tetapi > Y(meneruskan output ke file) tidak.
Simon A. Eugster
1

khugepaged mungkin masalahnya, coba yang berikut ini:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

ini membantu saya untuk menyelesaikan masalah ini pada linux arch terbaru ...

ArchUser
sumber
4
Hai dan selamat datang di situs ini! Kami berharap jawaban sedikit lebih rinci di sini. Bisakah Anda mengedit jawaban Anda dan menjelaskan apa perintah yang Anda sarankan lakukan dan bagaimana itu akan membantu?
terdon
1
@ArchUser juga jika Anda tidak yakin ini solusinya, silakan kirim sebagai komentar.
vfbsilva