Bagaimana saya bisa mengubah desktop Linux saya agar lebih responsif?

30

Saya memiliki pengalaman bahwa Linux berfungsi dengan baik sampai memori fisik habis. Segera setelah ruang swap digunakan, kinerja sangat menurun dan GUI menjadi tidak responsif.

Masalah ini tidak terbatas pada distro atau desktop tertentu, karena saya sudah mencoba beberapa (dan masalahnya tetap).

Apa yang bisa saya lakukan?

txwikinger
sumber
Ini adalah masalah yang diketahui dengan kernel linux ... Saya percaya saya membaca bahwa baru-baru ini sebuah patch berkomitmen untuk memperbaikinya. Mencari referensi untuk itu ...
xenoterracide
1
Artikel ini dan yang ini di phoronix adalah apa yang saya pikirkan ... saya pikir.
xenoterracide
pada dasarnya artikel-artikel itu berbicara tentang tambalan yang masuk ke 2.6.36 jadi ketika itu keluar dapatkan (kecuali jika Anda berani menjalankan RC atau dari master)
xenoterracide
Berapa banyak RAM yang Anda miliki? Program mana yang Anda jalankan yang sangat lapar? VM? JVM?
tshepang
Saya memiliki 8GB RAM dan biang keladinya adalah aplikasi yang biasa (penjelajah web seperti Firefox dan Chrome, klien surel seperti thunderbird, dan klien IRC.
txwikinger

Jawaban:

15

Saya sarankan membaca SwapFAQ , khususnya parameter swapiness .

bitek
sumber
3
+1, swap adalah bantuan band yang kami harap tidak digunakan ...
Avery Payne
1
Saya telah banyak mencoba pengaturan yang berbeda untuk swappiness tanpa hasil. Saya juga perhatikan, bahwa pendapat tentang nilai swappiness sama sekali tidak bersatu. Untuk beberapa desktop merekomendasikan 10, yang lain 100, berarti mereka menyarankan mereka menyarankan efek sebaliknya total.
txwikinger
1
Setelah pengujian lebih lanjut, saya sarankan untuk tidak menggunakan swapiness 100 atau 0. Keduanya menciptakan situasi di mana desktop masuk ke kegilaan swapping yang bahkan membuat jam panel berhenti selama lebih dari 20 menit.
txwikinger
11

Beberapa petunjuk:

  1. Jangan menjalankan begitu banyak program GUI sekaligus.
  2. Pastikan bahwa setiap program yang berjalan di latar belakang yang tidak Anda butuhkan misalnya Apache dihentikan.
  3. Gunakan distro yang ditujukan untuk situasi dengan memori rendah (mis. Untuk netbook)
  4. Beli lebih banyak memori.
  5. Beli HD (atau SSD) yang lebih cepat untuk partisi swap Anda. :)
Frozenskys
sumber
2
dengan SSD modern, seluruh sistem kemungkinan sudah usang dan siap untuk diganti jauh sebelum SSD mati. itu benar-benar tidak layak dikhawatirkan tentang hari ini backup, tentu saja, masih diperlukan karena disk - SSD atau mekanik - dapat mati kapan saja.
cas
4

Beli lebih banyak memori? :)

Jika Anda menjalankan aplikasi yang menggunakan lebih banyak memori daripada yang ada di sistem, tidak ada yang dapat dilakukan sistem operasi ini selain menukar ke partisi swap. Jika ini adalah situasi yang sering Anda alami, berhentilah menjalankan beberapa program yang tidak Anda perlukan, atau, sungguh, membeli lebih banyak memori, ini sangat murah akhir-akhir ini.

Greg KH
sumber
3
Saya sudah memiliki RAM maksimum. Saya ingin mengetahui beberapa perubahan yang membuat swapping lebih efisien daripada sebelumnya.
txwikinger
1
Saya telah menemukan bahwa menonaktifkan swap sepenuhnya cenderung membuat sistem merespons lebih cepat. Aplikasi diberitahu oleh kernel bahwa mereka tidak memiliki memori dan merespons sesuai.
cjac
3
@ cjac: Biasanya bukan itu masalahnya. Anda dapat mengkonfigurasi kernel untuk melakukan ini, tetapi secara default akan overcommit (berikan memori aplikasi Anda yang tidak dimiliki sistem Anda). Segera setelah aplikasi menyentuh memori dan kernel tidak dapat menemukan lagi pembunuh kehabisan memori akan menghentikan satu atau lebih proses.
Kristof Provost
@txwikinger alasan swapping lambat adalah karena kecepatan RAM jauh lebih cepat daripada hard disk. Waktu pencarian RAM diukur dalam nanodetik (10 ^ -9). Waktu pencarian HDD diukur dalam milidetik (10 ^ -3). Itu enam urutan besarnya, dengan kata lain RAM satu juta kali lebih cepat daripada swap. Pertanyaan Anda seperti menanyakan bagaimana membuat sepeda melaju secepat jet Concorde. Kamu tidak bisa
bahamat
1
@ Bahat. Anda menyatakan yang sudah jelas, tetapi itu bukan masalahnya. Masalahnya adalah bahwa pertukaran dilakukan dengan sangat tidak efektif, dan karenanya menciptakan sesuatu ke arah masalah filsuf.
txwikinger
2

Cobalah untuk mengubah nilai variabel kernel 'vm.swappiness' dan 'vm.page-cluster' ke nilai yang lebih tepat.

  1. Mulai emulator terminal.
  2. cd /etc/sysctl.d/
  3. sudo echo "vm.swappiness = 0" > 60-memory-management.conf
  4. sudo echo "vm.page-cluster = 1" >> 60-memory-management.conf
  5. sudo chmod 644 60-memory-management.conf
  6. Mulai ulang.

Periksa apakah nilai baru digunakan dengan:

  1. cat /proc/sys/vm/swappiness
  2. cat /proc/sys/vm/page-cluster
Pedro Dias
sumber
1

Bertukar akan sangat mengurangi kinerja tidak peduli apa, jadi yang terbaik untuk menghindari itu sama sekali. Ini mungkin terdengar bodoh, tetapi satu opsi adalah tidak mengkonfigurasi partisi swap. Saya telah menjalankan swap-free di semua sistem saya untuk beberapa waktu sekarang:

  • 1 GB di netbook sudah cukup untuk menjelajahi web, mendengarkan musik dan hal-hal ringan lainnya.
  • 4 GB di desktop saya sudah cukup untuk semua hal di atas ditambah pengembangan (bahkan di Eclipse) dan pengeditan gambar dasar.

Jika Anda melakukan sesuatu yang benar-benar intensif memori (Gimp dengan gambar besar, pemodelan 3D, CAD) daripada Anda mungkin harus membeli beberapa RAM.

Eugen Anghel
sumber
Iya nih. Perlahan saya sampai pada kesimpulan yang sama. Sepertinya saya bahwa cara swap kernel Linux tidak terlalu efisien untuk desktop (pada server semua ini berfungsi dengan baik). Oleh karena itu, mungkin rekomendasinya adalah untuk menonaktifkan semua ruang swap di desktop. Btw. Saya menggunakan RAM 8GB :)
txwikinger
1
@ txwikinger: bolehkah saya bertanya mengapa tidak apa-apa di server?
phunehehe
1

Anda dapat mencoba compcache , jika Anda tahu cara mengaturnya di distro Anda. Misalnya, di Ubuntu, Anda dapat mengaktifkannya dengan mengedit /etc/initramfs-tools/initramfs.conf dan mengedit baris "COMPCACHE_SIZE".

Saya tidak berpikir swap pada disk saya telah disentuh satu kali sejak saya mengaktifkan compcache. Inilah statistik swap saya saat ini:

% swapon -s
Filename                                Type            Size    Used    Priority
/dev/ramzswap0                          partition       1028084 69504   100
/dev/sda5                               partition       3148668 0       -1

Perhatikan bahwa perangkat compcache (ramzswap0) digunakan, dan perangkat on-disk (sda5) tidak.

Ryan C. Thompson
sumber
0

Beli RAM yang lebih cepat dan pastikan sistem Anda menggunakan semuanya. CPU dan arsitektur apa yang Anda gunakan?

Mike H
sumber
Bagaimana hal itu mengubah sistem Linux? Perubahan atau peningkatan perangkat keras bukan masalah di sini.
txwikinger
Mungkin instal linux Anda tidak menggunakan semua perangkat keras yang tersedia untuknya. Ini adalah masalah kinerja dan Anda telah menyatakan dalam komentar sebelumnya bahwa Anda berada pada batas maksimum RAM Anda. Tanpa mengetahui lebih detail tentang konfigurasi Anda, rute yang mudah ditempuh adalah perangkat keras yang lebih baik.
Mike H
1
"Sistem Linux" terdiri dari perangkat keras dan perangkat lunak. Menambah memori berarti "mengubah" sistem.
cjac
Linux adalah perangkat lunak yang berjalan pada perangkat keras. Perangkat keras tidak termasuk dalam Linux: p
txwikinger
1
Saya pikir lebih banyak ram lebih tepat daripada lebih cepat ... Kecepatan RAM biasanya dibatasi oleh Mobo juga ...
xenoterracide
0

Saya menjalankan applet Monitor Sistem di dok di sisi kanan layar saya. Setiap kali sistem terasa lambat, saya melihat meternya. Jika ada yang berjalan pada kapasitas di atas 10%, itu merupakan indikasi bahwa suatu proses semakin tidak terkendali.

Jika Anda mengklik monitor sistem, Anda dapat menggali proses yang menghabiskan sumber daya di sistem Anda.

http://www.colliertech.org/~cjac/tmp/screenies/system_monitor.png

cjac
sumber
1
Kebanyakan monitor sistem hanya menyeret ke sistem yang lambat lebih dari itu kucing Schrödinger. Tanpa menambah memori, ia harus memperbaiki kebocoran memori atau memangkas program yang tidak perlu yang sedang berjalan.
jjclarkson
0

Beberapa tahun yang lalu, biasanya menggunakan drive khusus untuk swap, saat terhubung ke bus IDE / ATA itu sendiri - bertukar data dengan drive yang sama tidak masuk akal dalam hal kinerja.

Trik itu berhasil sepuluh tahun yang lalu, tetapi dengan kecepatan drive sekarang Anda benar-benar tidak akan melihat penurunan kinerja yang begitu sibuk, kecuali jika Anda menukar perpustakaan kongres, jika tidak saya akan khawatir dengan kesehatan drive Anda - sudahkah Anda memeriksanya belakangan ini?

Anda selalu dapat mencobanya, Anda tidak memiliki banyak alternatif jika RAM Anda sudah maksimal. Jika ada yang saya harap itu membuat GUI Anda lebih responsif.

membalikkan
sumber
Banyak penggunaan untuk desktop tidak memberikan opsi ini karena itu adalah lapbook, atau netbook yang tidak memungkinkan drive kedua.
txwikinger
@ txwikinger jelas benar, tapi saya menganggap judul pertanyaan yang bertuliskan "desktop", kalau tidak, saya tidak akan menyarankan ini jika laptop secara khusus disebutkan :-)
invert
Yah .. maksudku desktop untuk membedakan dari server, di mana aku percaya swapping bekerja dengan cukup baik. :)
txwikinger
0

Instal sistem Linux kedua di jaringan Anda dengan jumlah RAM yang baik, pasang NFS ke sistem utama Anda, dan letakkan file swap itu.

LawrenceC
sumber
1
Dengan gigabit Ethernet, ini akan menjadi jauh lebih lambat daripada SSD midrange, dan saya tidak yakin apakah Anda bahkan dapat mencapai kecepatan hard disk 7200rpm. Mungkin dengan Firewire Anda dapat mencapai kecepatan swap lokal. Tetapi akan lebih efektif jika hanya menambahkan RAM.
Gilles 'SO- berhenti bersikap jahat'
0

Salah satu caranya adalah dengan menggunakan kernel yang dioptimalkan .

Ikem
sumber
Tolong jangan hanya mengirim tautan; sertakan beberapa konteks sehingga, jika situs yang Anda tautkan turun, ada informasi yang cukup di sini untuk membuat jawabannya bermakna.
jasonwryan
0

Untuk pengalaman bertahun-tahun, saya dapat memberi tahu Anda tidak ada banyak hal yang perlu diubah

Tapi, apa yang saya lakukan baru-baru ini banyak membantu.

1

Saya pindah dari Ubuntu ke Arch Linux, dari Unity / Gnome ke desktop xfce.

Ubuntu sangat lambat, dari mana-mana. boot / grafik .. lambat.

2

Saya membeli Intel SSD (80g), dan menanam sistem root saya di atasnya.

Linux arch saya + XFCE4 + docky + conky, melakukan booting dalam 10 detik (login otomatis dengan lxdm), semua aplikasi yang diinstal pada SSD, mis. Matlab, mulai jauh lebih cepat.

Uang itu sepadan.

3

Buat / tmp Anda di tempat lain, saya menggunakan ramdisk ukuran terbatas untuk itu, untuk mencegah filesystem root teracak

bunga aster
sumber