Pertanyaan Penggunaan memori Ubuntu


Saya menjalankan Ubuntu 10.04 dan saya melakukan beberapa dev dengannya. Saat saya membuka FF, Chrome, Eclipse (Zend Studio 7.2), dll. Dan melakukan beberapa pekerjaan, kemudian pergi, screen saver terus berjalan, dan ketika saya kembali beberapa jam kemudian (komputer telah berjalan selama sekitar 1 hari total ), SWAP digunakan secara intensif. Saya memiliki 4GB RAM dan jika saya daftar semua proses, saya menghitung sekitar 2.8GB RAM yang digunakan oleh semua proses, tetapi Ubuntu menyatakan bahwa 3.8GB digunakan + 1.2GB SWAP. Saya ingin mengerti bagaimana hal ini terjadi? Apakah ada beberapa fragmentasi memori, kebocoran? Apakah mungkin untuk membersihkan ini untuk mempercepat sistem lagi?


2
2017-08-05 16:15


asal




Jawaban:


Ini mungkin tidak harus dilakukan dengan penggunaan memori secara keseluruhan, tetapi dengan bagaimana manajer memori di Linux berperilaku. Jika proses hanya diam, kernel mungkin memutuskan untuk menukarnya untuk mendapatkan lebih banyak cache disk.

Bagaimana bersemangatnya Linux memutuskan untuk menukar proses tidak aktif untuk mendapatkan lebih banyak disk cache dapat disetel. Secara default Ubuntu memiliki vm.swappiness = 60.

Anda mungkin ingin mencoba nilai yang berbeda. Coba perintah sudo sysctl -w vm.swappiness=10 dan terus gunakan komputer Anda seperti biasa. Jika situasi membaik karena trik ini, Anda dapat menambahkan baris

vm.swappiness = 10

untuk Anda /etc/sysctl.conf file untuk membuat perubahan ini permanen di seluruh reboot.


4
2017-08-05 16:39



terima kasih atas jawaban ini! Saya pasti akan menguji yang satu itu. Ini bagus bahwa Anda benar-benar dapat menyesuaikan penggunaan SWAP :) - Yanick Rochon


Ini terjadi pada saya hanya jika komputer memasuki hibernasi. Ubuntu akan menempatkan semua Memori ke dalam partisi swap, dan setelah me-reload mesin, saya memiliki sekitar 10% -25% dari partisi swap yang digunakan. Apakah komputer Anda disetel menjadi hibernasi otomatis?

Suatu cara untuk memaksa memori swap ke RAM adalah untuk menjalankan

$sudo swapoff -a
$sudo swapon -a

Saya tidak yakin apakah ini dengan desain, atau apakah itu layak dibawa ke Ubuntu devs.


2
2017-08-05 16:41



komputer saya tidak masuk ke hibernasi, tidak. Tapi saya pernah menaruhnya sekali, dan nyatanya swap digunakan cukup banyak. Namun, saya yakin ini adalah perilaku normal, jadi saya tidak khawatir tentang itu. Terimakasih Meskipun - Yanick Rochon


Ini mungkin dari cara menangani memori Linux. Singkatnya, SWAP hanya digunakan ketika benar-benar diperlukan. Nah Firefox sangat besar dan memiliki kebocoran memori terkenal, saya mengasumsikan Eclipse sangat besar juga, Chrome hanya makan RAM, dll.

Apa yang terjadi adalah ketika Anda meninggalkan komputer Anda sendiri, memori bocor perlahan-lahan menghabiskan RAM fisik Anda. Jadi Linux hanya menukar apa yang tidak diperlukan, fitur UI. Jadi ketika Anda kembali, ia harus menarik mereka keluar dari swap. Tapi kemudian perlu menukar hal-hal latar belakang lainnya, dan ketika Anda menabrak dengan Windows mungkin harus memuat / menukar banyak hal yang berbeda.

Anda dapat menyelesaikan ini dengan tidak meninggalkan setidaknya Firefox dan Chrome dan menggunakan fitur tab yang disimpan sebagai gantinya. Saya seorang Netbeans, jadi saya tidak yakin tentang jejak memori Eclipse, tetapi apakah itu perlu dilakukan?


0
2017-08-05 16:35



hati-hati untuk banshee juga! Itu benar-benar mengunyah memori. - Jonathan
"SWAP hanya digunakan ketika benar-benar diperlukan." - maaf, tidak, itu tidak terjadi: kerneltrap.org/node/3000 - Ludwig Weinzierl
@Ludwig Tepatnya di mana dalam artikel Anda itu menyebutkan bahwa Linux swap kapan pun diinginkannya? Linux swapping hanya bila diperlukan adalah salah satu perbedaan inti antara penanganan memori virtual Linux dan Windows. - TheLQ
Inti dari itu adalah bahwa Linux dapat mengirim beberapa data dari memori dan ke dalam ruang swap, bahkan tanpa memori yang sepenuhnya penuh, jika swappiness pengaturan diatur lebih besar dari nol. Alasan untuk ini adalah bahwa memori harus dibagi antara program dan cache disk, dan kadang-kadang lebih baik untuk mengurangi memori yang tersedia untuk program jika itu berarti cache disk dapat dibuat lebih besar. Salah satu cara untuk membuat lebih banyak memori tersedia adalah dengan menggunakan ruang swap. - Kevin Panko