Saya menjalankan Arch di mesin ini:
3.40GHz i7 hexacore (4930K)
16GB DDR3 1600MHz RAM
2xSamsung 840 EVO SSD di Raid0 (menggunakan serangan BTRFS)
Ketika saya menjalankan VMware di Arch saya dengan beberapa VM (2 atau 3), memberi mereka masing-masing sekitar 2-4 core, dan masing-masing 2GB RAM, sistem saya mulai membeku secara acak. Setiap beberapa menit, sistem akan membeku di mana saja dari 10 hingga 30 detik, dan kemudian mulai bergerak lagi, hanya untuk membekukan hingga 30 detik kemudian sampai saya mematikan VM. Ketika sistem membeku, mouse masih bergerak dengan baik, tetapi aplikasi berhenti merespons pada host - vmware tidak merespons, firefox (yang juga terbuka pada host) tidak merespons, dll.
Ketika pembekuan terjadi, jika saya menjalankan proses monitor, itu menunjukkan beberapa core yang di-maxed oleh vmware, tetapi pada saat yang sama, ada core yang tidak digunakan lainnya. Saya juga memiliki lebih dari cukup RAM - VM menggunakan total 6GB, dan tuan rumah memiliki 10GB tersisa. Saya memiliki 0 ruang swap, jadi tidak mungkin swapping memperlambat apa pun.
Ada laporan bahwa karena btrf menyebabkan fragmentasi file pada level sistem file, mesin virtual mungkin berjalan lambat. Sejauh yang saya tahu, fragmentasi hanya merupakan masalah pada hard disk tradisional - SSD tidak memiliki kepala baca yang mencari, sehingga mereka tidak peduli jika file sangat terfragmentasi.
Ini tidak pernah terjadi ketika saya menjalankan Debian 7, jadi saya cukup yakin itu bukan masalah perangkat keras.
Alat apa yang bisa saya jalankan untuk mencari tahu mengapa sistem saya terus membeku? Saya sudah mencoba top / htop, dan iotop (tidak ada yang menulis atau membaca secara berlebihan ketika sistem macet). Tampaknya tidak ada jenis monitor kegiatan untuk btrfs untuk mengetahui apakah itu mengalami masalah dengan menulis / membaca apa pun. Apakah ada hal lain yang bisa saya coba?
Jawaban:
Dari halaman gotchas btrfs :
Saya memiliki masalah yang sama seperti yang Anda gambarkan dengan Virtualbox. The
nodatacow
pilihan untuk btrfs tidak membantu dengan cara yang nyata pada sistem saya. Saya mencoba opsi auto-defragment (disebutkan sebagai solusi yang mungkin untuk database aplikasi di lingkungan desktop) juga, tanpa hasil yang akan membuat perilaku tersebut dapat diterima.Pada akhirnya saya menciutkan partisi btrfs saya dan Volume Logical tempat tinggalnya, saya membuat LV baru dan memformatnya sebagai ext4, dan kemudian meletakkan gambar disk VM yang saya miliki (VirtualBox) pada "partisi" itu.
sumber
Ini bisa menjadi masalah hugepages yang transparan, di mana sebuah thread kernel dikelompokkan , secara harfiah menambang RAM Anda untuk mendefragmentasi atau membuat hugepage dari yang 4k.
Kernel bisa saja memutuskan untuk mengaktifkan hugepage mengingat jumlah RAM sistem Anda yang cukup besar.
Periksa isi dari dua merdu kernel ini:
Jika kontennya adalah
always
, Anda bisa mengubahnyanever
, dan melihat apakah cpu spikes / freeze hilang.sumber
Masalah ini sepenuhnya diselesaikan dengan tidak menggunakan LUKS pada partisi. Jadi saya memformat partisi langsung dengan BTRFS dan bukan dengan LUKS terlebih dahulu.
Juga dipasang dengan parameter berikut:
Terkait dengan kinerja penulisan Abysmal general dm-crypt (LUKS)
sumber