Bagaimana saya mencegah komputer saya membeku ketika mulai menukar

4

Saya bekerja sebagai programmer Java, jadi saya sering harus menjalankan beberapa program sekaligus yang menghabiskan banyak memori.

Ketika memori saya penuh dan Linux mulai bertukar, komputer saya hampir sepenuhnya membeku. Saya dapat melihat bahwa ini banyak menulis di hard-disk dan semuanya bereaksi sangat lambat, seringkali tidak sama sekali. Memindahkan mouse di X terkadang tidak bekerja sama sekali, kadang-kadang ada penundaan beberapa detik, mengklik biasanya memiliki penundaan beberapa menit. Kadang-kadang dimungkinkan untuk mengubah ke TTY (dengan penundaan yang lama), di sana saya biasanya dapat mengetik tanpa penundaan, tetapi ketika saya mencoba masuk, dibutuhkan beberapa menit setelah mengetikkan nama pengguna sampai kata sandi muncul, dan biasanya muncul pesan kesalahan yang memberi tahu saya bahwa waktu masuk habis. Jadi satu-satunya kemungkinan biasanya untuk me-restart komputer.

Saya perhatikan bahwa penulisan intensif lain ke hard disk juga secara signifikan memperlambat komputer saya. Kadang-kadang, saya menggunakan rsync untuk membatasi bandwidth ketika saya menyalin file-file di komputer saya sendiri, karena jika tidak sistem akan hampir tidak dapat digunakan.

Bagaimana ini bisa terjadi? Saat ini tampaknya lebih bermanfaat bagi saya untuk sepenuhnya mematikan swapping. Itu mungkin crash beberapa proses, yang sangat disayangkan, tetapi alternatif saat ini adalah untuk crash semua proses dengan mematikan komputer saya.

Saya menggunakan Gentoo Linux dengan kernel 3.6.2-gentoo, saya memiliki partisi swap 10 GB pada HDD.

cdauth
sumber
1
Ini menarik. Linux tidak mulai bertukar ketika memori penuh, secara bertahap halaman keluar semakin banyak saat memori terisi. Lihat swappiness . Apakah itu menabrak sekaligus, atau apakah pelambatan itu bertahap?
Darth Android
Apakah Anda tahu disk apa yang Anda miliki di sana dan apa revisi SATA? Saya ingin tahu apakah itu bandwidth -atau- batasan disk lebih dari swap.
nerdwaller
Perhatikan bahwa perilaku memilah barang secara bertahap adalah untuk mencegah masalah seperti ini ... mengubah swappiness dapat menyebabkan kinerja yang sangat buruk sekaligus. Bukan berarti Darth menyiratkan mengutak-atiknya, hanya FYI, men-tweak swappiness bukanlah jawabannya. Menemukan pelakunya dengan sesuatu seperti iotop guichaz.free.fr/iotop bisa membantu.
mgjk
Saya memiliki masalah serupa di mana komputer inti i5 dengan ram 2gb dan drive RPM 2,5 "rendah yang hampir tidak berguna saat bertukar. Akhirnya beralih ke mesin ujung bawah dengan disk lebih cepat untuk menyelesaikan masalah.
ssmy
nerdwallet: kata lspci 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06). hdparm mengatakan sesuatu tentang Gen1 signaling speed (1.5Gb/s), Saya tidak dapat menemukan apa pun yang akan mengatakan apa pun tentang kecepatan.
cdauth

Jawaban:

1

Bertukar adalah hal yang sangat buruk untuk sistem UNIX / Linux. Seperti yang Anda lihat, dibutuhkan keterlibatan sumber daya yang serius dalam mendukung pertukaran terutama untuk sistem disk. Setelah semua, sistem memindahkan memori bolak-balik ke disk, sehingga program lain yang menggunakan memori dapat berjalan.

Jika setelah menganalisis semua program yang berjalan di sistem Anda, dan menghapusnya, Anda masih bertukar, maka pendekatan terbaik Anda adalah menambahkan lebih banyak memori ke mesin Anda.

mdpc
sumber
atau untuk menentukan penyebabnya sebelum melemparkan lebih banyak perangkat keras pada masalahnya. Yang bisa lebih memperlambat IO daripada karena paging.
Hennes