Як я можу налаштувати свій робочий стіл Linux, щоб бути більш чуйним?


30

У мене є досвід, що Linux працює нормально, поки фізична пам'ять не вичерпається. Як тільки використовується місце для заміни, продуктивність сильно погіршується, а графічний інтерфейс стає невідповідним.

Ця проблема не обмежується певним дистрибутивом або робочим столом, тому що я спробував декілька (і проблема залишається).

Що я можу з цим зробити?


Це відома проблема з ядром Linux ... Я вважаю, що я читав, що нещодавно виправлено патч для його виправлення. Шукаєте посилання на це ...
xenoterracide

1
Ця стаття, і ця, про форонікс, - це те, про що я думав ... я думаю.
ксенотеррацид

в основному ці статті говорять про патчі, які збираються в 2.6.36, тому коли це вийде, отримайте це (якщо ви не наважуєтесь запустити RC або від майстра)
xenoterracide

Скільки у вас оперативної пам’яті? Які програми ви запускаєте, які так голодні? ВМ? JVM?
thepang

У мене є 8 Гб оперативної пам’яті, а винуватцями є звичайні програми (веб-браузери, такі як Firefox та Chrome, клієнти електронної пошти, як громовідвід, та клієнти IRC.
txwikinger

Відповіді:


15

Я пропоную прочитати SwapFAQ , зокрема параметр swap .


3
+1, swap - це допомога, яку ми сподіваємося не використовувати ...
Avery Payne,

1
Я багато разів випробовував різні налаштування для заміщення, не маючи успіху. Я також зауважив, що думки про цінність свопіння зовсім не уніфіковані. Для настільних комп'ютерів деякі рекомендують 10, інші 100, це означає, що вони пропонують загальний протилежний ефект.
txwikinger

1
Після подальших тестів, я рекомендую не використовувати ні заміни 100, ні 0. Обидва створили ситуації, коли робочий стіл потрапляв у манір обміну, який навіть зупиняв панельний годинник більше 20 хвилин.
txwikinger

11

Деякі вказівки:

  1. Не запускайте стільки програм GUI одночасно.
  2. Переконайтеся, що будь-які програми, що працюють у фоновому режимі, який вам не потрібен, наприклад Apache, зупинені.
  3. Використовуйте дистрибутив, спрямований на ситуацію з низькою пам'яттю (наприклад, для нетбука)
  4. Купіть більше пам’яті.
  5. Купіть більш швидкий HD (або SSD) для своєї підкачки. :)


2
з сучасними SSD-дисками вся система, ймовірно, застаріла і готова до заміни задовго до вмирання SSD. справді не варто турбуватися про ці дні. резервні копії, звичайно, все ж потрібні, оскільки диск - SSD або механічний - може загинути в будь-який час.
cas

4

Придбати більше пам’яті? :)

Якщо у вас запущені програми, які використовують більше пам'яті, ніж у вас в системі, жодна операційна система нічого не може зробити з цього приводу, ніж перейти на swap-розділ. Якщо це ситуація, в якій ви часто опиняєтесь, перестаньте виконувати деякі програми, які вам не потрібні, або, дійсно, купуйте більше пам’яті, це дуже недорого в ці дні.


3
У мене вже максимальна оперативна пам’ять. Мені хотілося б дізнатися про деякі зміни, які роблять обмін більш ефективним, ніж він є.
txwikinger

1
Я виявив, що відключення swap повністю прагне зробити систему швидшою реакцією. Програми отримують повідомлення від ядра про те, що вони не мають пам'яті, і відповідно реагують на них.
cjac

3
@cjac: Це зазвичай не так. Ви можете налаштувати ядро ​​для цього, але за замовчуванням воно перезапустить (надайте вашій програмі пам'ять, якої у вашої системи немає). Як тільки програма торкнеться пам’яті і ядро ​​не зможе знайти більше, вбивця поза пам’яті припинить один або кілька процесів.
Прорік Крістоф

@txwikinger причина того, що заміна відбувається повільно, полягає в тому, що швидкість оперативної пам'яті настільки швидша, що жорсткі диски. Час пошуку оперативної пам'яті вимірюється в наносекундах (10 ^ -9). Часи пошуку жорсткого диска вимірюються в мілісекундах (10 ^ -3). Це шість порядків, інакше кажучи, оперативна пам'ять в мільйон разів швидша, ніж своп. Ваше запитання - це як запитати, як змусити велосипед їхати так само швидко, як струмінь Concorde. Ви не можете.
bahamat

1
@bahamat Ви констатуєте очевидне, але це не проблема. Проблема полягає в тому, що заміна робиться дуже неефективно, а значить, створює щось у напрямку проблеми філософа.
txwikinger

2

Спробуйте змінити значення змінних ядра 'vm.swappiness' і 'vm.page-cluster' на більш відповідні значення.

  1. Запустіть емулятор терміналу.
  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. Перезавантажте.

Перевірте, чи використовуються нові значення для:

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

1

Поміняння сильно зменшить продуктивність, незважаючи ні на що, тому краще уникати цього взагалі. Це може здатися дурним, але один варіант - не налаштовувати розділ swap. Я вже деякий час працюю без своп у всіх моїх системах:

  • 1 Гб у нетбуку достатньо для перегляду Інтернету, прослуховування музики та інших легких речей.
  • 4 Гб на моєму робочому столі вистачає на все вище, а також на розвиток (навіть у Eclipse) та на основне редагування зображень.

Якщо ви робите щось, що дійсно потребує пам'яті (Gimp з великими зображеннями, 3D-моделювання, CAD), ніж ви, ймовірно, повинні придбати деяку оперативну пам'ять.


Так. Я повільно приходжу до того ж висновку. Мені здається, що спосіб ядра Linux обмінюється не дуже ефективно для настільних ПК (на серверах все це працює чудово). Отже, можливо, рекомендацією має бути відключення всього місця обміну на робочих столах. Btw. Я використовую 8 ГБ оперативної пам’яті :)
txwikinger

1
@txwikinger: чи можу я запитати, чому це добре на серверах?
phunehehe

1

Ви можете спробувати compcache , якщо зможете зрозуміти, як його налаштувати у своєму дистрибутиві. Наприклад, на Ubuntu ви можете ввімкнути його, відредагувавши /etc/initramfs-tools/initramfs.conf та відредагувавши рядок "COMPCACHE_SIZE".

Я не думаю, що мій підпис на дисках не торкався жодного разу, як я ввімкнула комп’юш. Ось мої поточні статистичні дані про своп:

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

Зауважте, що використовується пристрій compcache (ramzswap0), а пристрій на диску (sda5) - ні.


0

Придбайте швидшу оперативну пам’ять і переконайтеся, що ваша система використовує все це. Який процесор та архітектуру ви використовуєте?


Як це налаштовує систему Linux? Зміна або вдосконалення обладнання - це не проблема.
txwikinger

Можливо, що ваша установка Linux не використовує все доступне для неї обладнання. Це проблема продуктивності, і ви в попередньому коментарі заявляли, що досягаєте максимальної межі оперативної пам’яті. Не знаючи більше деталей про вашу конфігурацію, простішим способом пройти є краще обладнання.
Майк Н

1
"система Linux" складається з апаратного та програмного забезпечення. Додавання пам'яті "налаштовує" систему.
cjac

Linux - це програмне забезпечення, яке працює на апаратному забезпеченні. Обладнання не входить до Linux: p
txwikinger

1
Я думаю, що більше оперативної пам’яті доцільніше, ніж швидше ... Швидкість оперативної пам’яті обмежена Mobo зазвичай теж ...
xenoterracide

0

Я запускаю аплет System Monitor у док-станції в правій частині екрана. Щоразу, коли система відчуває себе мляво, я дивлюсь на лічильники. Якщо що-небудь працює із потужністю понад 10%, це є ознакою того, що процес виходить з-під руки.

Якщо натиснути на монітор системи, ви зможете викопати процеси, які споживають ресурси у вашій системі.

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


1
Більшість моніторів системи просто перетягують повільну систему, тим більше, що це кіт Шредінгера. Без збільшення пам’яті йому доводиться виправляти витоки пам’яті або обробляти непотрібні програми, що працюють.
jjclarkson

0

Кілька років тому звичайно було використовувати спеціальний накопичувач для swap, а підключений до власної шини IDE / ATA - обмін даними на одному диску просто не мав сенсу з точки зору продуктивності.

Цей трюк спрацьовував десять років тому, але зі швидкістю приводу зараз ви дійсно не повинні бачити такої суєти погіршення продуктивності, якщо тільки ви не поміняєте бібліотеку конгресу, інакше я б переймався здоров’ям вашого диска - чи перевіряли ви це останнім часом?

Ви завжди можете спробувати, у вас не так багато альтернатив, якщо ваша оперативна пам’ять вже заповнена. Якщо що-небудь сподіваюся, це зробить ваш графічний інтерфейс більш чуйним.


У багатьох звичаях для настільних комп’ютерів ця опція не дає, оскільки це ноутбуки чи нетбуки, які не дозволяють повторити диск.
txwikinger

@txwikinger, очевидно, правда, але я вважав заголовок питання, який пише "настільний", інакше я б не запропонував цього, якби ноутбук був спеціально згаданий :-)
інвертувати

Ну .. Я мав на увазі робочий стіл, щоб відрізняти від серверів, де я вважаю, що заміна працює досить добре. :)
txwikinger

0

Встановіть другу мережу Linux у вашу мережу з хорошою кількістю оперативної пам’яті, NFS змонтуйте її до вашої основної системи та додайте до цього файл swap.


1
З гігабітним Ethernet це буде набагато повільніше, ніж SSD середнього діапазону, і я не впевнений, чи зможете ви навіть досягти швидкості жорсткого диска 7200 об / хв. Можливо, за допомогою Firewire ви зможете досягти швидкості локального обміну. Але було б ефективніше просто додати оперативну пам’ять.
Жил 'ТАК - перестань бути злим'

0

Один із способів - це використання оптимізованого ядра .


Будь ласка, не просто публікуйте посилання; включіть деякий контекст, щоб, якщо веб-сайт, на який ви посилаєтесь, перейшов на сайт, тут буде достатньо інформації, щоб зробити відповідь змістовною.
Jasonwryan

0

За багаторічний досвід, я можу сказати вам, що не так багато налаштовувати

Але те, що я нещодавно зробив, дуже допомогло.

1

Я перейшов з Ubuntu в Arch Linux, з Unity / Gnome на xfce desktop.

Убунту смертельно повільний, звідусіль. завантаження / графіка .. повільний.

2

Я купив Intel SSD (80 г) і посадив на нього свою кореневу систему.

Мій арки Linux + XFCE4 + docky + conky, завантажується за 10 секунд (автоматичний вхід з lxdm), усі програми, встановлені на SSD, наприклад, Matlab, запускаються набагато швидше.

Гроші того варті.

3

Зробіть ваш / tmp в іншому місці, я використовую для нього обмежений розмір ramdisk, щоб запобігти забиттю кореневої файлової системи

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.