Daha fazla duyarlı olması için Linux masaüstümü nasıl ayarlayabilirim?


30

Fiziksel bellek tükenene kadar Linux'un iyi çalıştığını biliyorum. Takas alanı kullanılır kullanılmaz performans ciddi şekilde düşer ve GUI yanıt vermez.

Bu sorun belirli bir dağıtım veya masaüstüyle sınırlı değildir, çünkü bir kaçını denedim (ve sorun devam ediyor).

Bu konuda ne yapabilirim?


Bu linux çekirdeğiyle ilgili bilinen bir sorun ... Son zamanlarda bir yamanın düzeltmeyi taahhüt ettiğini okudum. Buna bir referans arıyorsunuz ...
xenoterracide 21:10

1
Bu yazı ve bu da phoronix'teki yazı , düşündüğüm şeydi ... sanırım.
xenoterracide 21:10

temelde bu makaleler 2.6.36'ya giren yamalar hakkında konuşur, bu yüzden ortaya çıktığında (bir RC'yi çalıştırmaya cesaret
edemezseniz

Ne kadar RAM'in var? Bu kadar aç olan hangi programları çalıştırıyorsunuz? VM en? JVM?
tshepang

Ben RAM 8GB ve suçluların (Firefox ve Chrome, thunderbird gibi e-posta istemcileri ve IRC gibi webbrowsers olağan uygulamalardır.
txwikinger

Yanıtlar:


15

Ben okumanızı öneririz SwapFAQ özellikle swapiness parametresi.


3
+1, takas etmemeyi umduğumuz bir yara bandı ...
Avery Payne

1
Başarılı bir şekilde değişmeden takas için farklı ayarları çok denedim. Ayrıca, değişimin değeri hakkındaki görüşlerin bir arada olmadığını da farkettim. Masaüstleri için bazıları 10'u, diğerleri 100'ü tavsiye eder, yani toplamı ters etki önerdiler.
txwikinger

1
Daha fazla testten sonra, 100 veya 0 takas almamayı öneririm. Her ikisi de, masaüstünün 20 dakikadan daha fazla bir süre boyunca panel saatinin durmasına neden olan bir değiştirme çılgınlığına girdiği durumlar yarattı.
txwikinger

11

Bazı işaretçiler:

  1. Aynı anda çok fazla GUI programı çalıştırmayın.
  2. Arka planda çalışan tüm programların örneğin Apache'nin durdurulduğundan emin olun.
  3. Düşük bellek durumlarına yönelik bir dağıtım kullanın (örneğin, netbook için)
  4. Daha fazla hafıza al.
  5. Takas alanınız için daha hızlı bir HD (veya SSD) satın alın. :)


2
Modern SSD'lerde, tüm sistemin SSD ölmeden çok önce eski ve değiştirilmeye hazır olması muhtemeldir. Bugünlerde endişelenmeye değmez. Tabii ki, bir disk - SSD veya mekanik - herhangi bir zamanda ölebilir, çünkü yine de yedekleme gereklidir.
Cas

4

Daha fazla hafıza satın alıyor? :)

Sistemde bulunduğunuzdan daha fazla bellek kullanan uygulamalar kullanıyorsanız, herhangi bir işletim sisteminin takas bölümüne geçmek için bu konuda yapabileceği hiçbir şey yoktur. Bu, sık sık bulduğunuz bir durumsa, gerek duymadığınız bazı programları çalıştırmayı bırakın veya gerçekten daha fazla bellek satın alın, bugünlerde çok ucuz.


3
Zaten maksimum RAM var. Takas yapmayı olduğundan daha verimli hale getiren bir tweak bilmek istiyorum.
txwikinger

1
Devre dışı bırakma değişiminin tamamen bir sistemin daha hızlı yanıt vermesini sağladığını gördüm. Uygulamalar, çekirdeğin belleğine sahip olmadığı ve buna göre yanıt verdiği bildirilir.
cjac

3
@cjac: Genelde durum böyle değil. Bunu yapmak için çekirdeği yapılandırabilirsiniz, ancak varsayılan olarak geçersiz kılar (sisteminizin sahip olmadığı uygulama belleğini verin). Bir uygulama belleğe dokunur dokunmaz ve çekirdek artık bulamazsa bellek dışı katil bir veya daha fazla işlemi sonlandırır.
Kristof Provost

@txwikinger takas işleminin yavaş olmasının nedeni RAM hızlarının sabit disklerden çok daha hızlı olması. RAM arama süresi nanosaniye (10 ^ -9) cinsinden ölçülür. HDD arama süreleri milisaniye cinsinden ölçülür (10 ^ -3). Bu altı büyüklük emridir, başka bir deyişle RAM, takas işleminden bir milyon kat daha hızlıdır. Sorunuz bir bisikletin Concorde jeti kadar hızlı bir şekilde nasıl sürüleceğini sormak gibi. Yapamazsın
bahamat

1
@bahamat. Bariz olduğunu belirtiyorsunuz, ama sorun bu değil. Sorun, takas işleminin çok etkisiz bir şekilde yapılması ve bu nedenle filozofun sorunu yönünde bir şey yaratmasıdır.
txwikinger

2

'Vm.swappiness' ve 'vm.page-cluster' çekirdek değişkenlerinin değerlerini daha uygun değerlerle değiştirmeye çalışın.

  1. Bir terminal emülatörü başlatın.
  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. Yeniden Başlatma.

Yeni değerlerin kullanımda olup olmadığını kontrol edin:

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

1

Değişim ne olursa olsun performansı çok düşürecektir, bu yüzden bundan tamamen kaçınmak en iyisidir. Bu aptalca gelebilir, ancak seçeneklerden biri takas bölümünü yapılandırmamaktır. Şimdi bir süredir tüm sistemlerimde takassız çalışıyordum:

  • İnternette gezinmek, müzik dinlemek ve diğer hafif şeyler için netbook üzerindeki 1 GB yeterlidir.
  • Masaüstümdeki 4 GB, her şeyden öte artı geliştirme (Eclipse'de) ve temel resim düzenleme için yeterli.

Gerçekten yoğun bellek kullanan bir şey yaparsanız (büyük görüntülü, 3 boyutlu modelleme, CAD) daha fazla RAM satın almanız gerekir.


Evet. Yavaş yavaş aynı sonuca vardım. Bana göre Linux çekirdeğinin değişme şekli masaüstleri için çok verimli değil (bütün bu işler iyi çalışıyor). Bu nedenle, belki de önerisi masaüstündeki tüm takas alanını devre dışı bırakmak olmalıdır. Btw. 8GB RAM kullanıyorum :)
10:10

1
@txwikinger: Neden sunucularda iyi olduğunu sorabilir miyim?
phunehehe

1

Dağıtımınızda nasıl kurulacağını bulabilirseniz , compcache'i deneyebilirsiniz . Örneğin, Ubuntu'da, /etc/initramfs-tools/initramfs.conf dosyasını düzenleyerek etkinleştirebilirsiniz. dosyasını düzenleyerek ve "COMPCACHE_SIZE" satırını .

Compcache işlevini etkinleştirdiğimden beri diskteki takas koduma bir kez dokunulduğunu sanmıyorum. İşte mevcut takas istatistiklerim:

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

Compcache aygıtının (ramzswap0) kullanıldığına ve diskteki aygıtın (sda5) kullanılmadığına dikkat edin.


0

Daha hızlı RAM satın alın ve sisteminizin hepsini kullandığından emin olun. Hangi CPU ve mimariyi kullanıyorsunuz?


Bu Linux sistemini nasıl değiştiriyor? Donanım değişikliği veya iyileştirme burada sorun değil.
txwikinger

Linux yüklemenizin kullanabileceği tüm donanımları kullanmaması olasıdır. Bu bir performans sorunudur ve önceki bir yorumda maksimum RAM limitinizi aştığınızı belirttiniz. Konfigürasyonunuz hakkında daha fazla ayrıntı bilmeden, götürülmesi kolay bir rota daha iyi bir donanımdır.
Mike H

1
"Linux sistemi" donanım ve yazılımdan oluşur. Bellek eklemek sistemi "düzeltiyor".
cjac

Linux, donanım üzerinde çalışan bir yazılımdır. Donanım Linux içine dahil değildir: p
txwikinger

1
Daha ram ... daha hızlı ... RAM hızı genellikle çok Mobo ile sınırlıdır daha uygun olduğunu düşünüyorum
xenoterracide

0

Sistem Monitörü uygulamasını ekranımın sağ tarafındaki bir yuvada çalıştırıyorum. Sistemin halsiz hissettiği her zaman, sayaçlara bir göz atarım. Herhangi bir şey% 10'un üzerinde bir kapasitede çalışıyorsa, bu bir işlemin elinden alındığının bir göstergesidir.

Sistem monitörünü tıklarsanız, sisteminizde kaynak tüketen işlemleri kazabilirsiniz.

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


1
Çoğu sistem monitörü yavaş bir sistemi daha aşağıya sürüklüyor, Schrödinger'in kedisi. Belleği arttırmadan bellek sızıntılarını düzeltmek veya çalışan gereksiz programları düzeltmek zorundadır.
jjclarkson

0

Birkaç yıl önce, kendi IDE / ATA veriyoluna bağlıyken, takas için özel bir sürücü kullanmak olağandı; aynı sürücüdeki verileri değiştirmek, performans açısından bir anlam ifade etmiyordu.

Bu numara on yıl önce işe yaradı, ancak sürüş hızlarında şimdi kongre kütüphanesini değiştirmiyorsanız, gerçekten telaşlı performans düşüşü görmemelisiniz, aksi halde sürücünüzün sağlığı konusunda endişeliyim - son zamanlarda kontrol ettiniz mi?

Her zaman deneyebilirsiniz, RAM'iniz zaten doluysa, başka seçeneğiniz yoktur. Umarım bir şey olursa, GUI'nizi daha duyarlı hale getirir.


Masaüstü için pek çok kullanım bu seçeneği, lapbook'lar veya ikinci bir sürücüye izin vermeyen netbook'lar olduğu için vermez.
txwikinger

@txwikinger açıkçası gerçek ama bir dizüstü özellikle :-) sözü eğer aksi takdirde bu önerdi olmazdı, "masaüstü" okur Sorunun başlığını dikkate
invert

Peki .. Takas işleminin oldukça iyi çalıştığına inandığım sunuculardan ayırt etmek için masaüstünü kastettim. :)
txwikinger

0

Ağınıza iyi miktarda RAM ile ikinci bir Linux sistemi kurun, NFS bunu ana sisteminize monte edin ve takas dosyasını üzerine yerleştirin.


1
Gigabit Ethernet ile bu, orta seviye SSD'den çok daha yavaş olacak ve 7200 rpm sabit diskin hızına bile ulaşıp ulaşamayacağınızdan emin değilim. Belki Firewire ile yerel takas hızına ulaşabilirsiniz. Ancak sadece RAM eklemek daha etkili olacaktır.
Gilles 'SO- kötülük'


0

Uzun yıllara dayanan deneyimim, size söyleyecek çok fazla şey olmadığını söyleyebilirim.

Ancak, son zamanlarda yaptığım çok yardımcı oldu.

1

Ubuntu'dan Arch Linux'a, Unity / Gnome'dan xfce masaüstüne geçtim.

Ubuntu her yerden ölümcül yavaştır. önyükleme / grafik .. yavaş.

2

Bir Intel SSD (80g) satın aldım ve kök sistemime yerleştirdim.

Linux'um + XFCE4 + docky + conky, 10 saniyede önyükleme yapıyor (lxdm ile otomatik giriş), SSD'ye yüklenen tüm uygulamalar, örneğin Matlab çok daha hızlı başlıyor.

Buna değer.

3

/ Tmp'nizi başka bir yerde yapın, kök dosya sisteminin karışmasını önlemek için sınırlı boyutta ramdisk kullanıyorum

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.