Як запобігти моїй системі не реагувати на тремтіння (поза оперативною пам’яттю)?


11

У мене є 8 Гб оперативної пам’яті, але іноді я працюю з парою VM і достатньо процесів Chrome, щоб використовувати більшу частину своєї пам’яті. Зазвичай це нормально, але іноді моя система починає молотитися, і мені важко відновитись після цього, не чекаючи, коли все покращиться, оскільки інтерфейс здебільшого заморожений.

У всіх цих випадках програми, що використовують більшість моєї оперативної пам’яті, можуть бути деприортизовані. Якщо Chrome або VM стали невідповідними, але моє графічне середовище та термінал все ще відповідали, я можу перейти на термінал, знайти винуватця і вбити його. Я міг би уявити щось на кшталт "приємного" для пам'яті (щоб я міг приємно Chrome і мій VM) або щось, щоб змусити графічне середовище і мій термінал залишатися в пам'яті і не міняти місцями.

Чи є спосіб переконатися, що користувальницький інтерфейс продовжує реагувати, коли мою систему тремтить?

Спасибі!

EDIT: Мені все ще цікаво, чи є щось на зразок приємного для пам’яті, але я просто виявив, що в моїй системі немає місця для обміну. Я думаю, що це сталося тому, що я почав використовувати зашифрований будинок та зашифрований своп (див. Swap не працює над чистою установкою 14.04 за допомогою зашифрованого будинку ). Таким чином, моя система, ймовірно, стає невідповідною, тому що у мене немає місця для обміну, тому моя система не може заміняти зайві програми, коли вона втрачає пам'ять.


Так виглядає, що ви знайшли причину вашої проблеми (заміни не виділено) - тепер ви хочете знати, як налаштувати зашифрований своп? Можливо, ви могли б відредагувати питання або почати нове запитання.
thomasrutter

1
Мені все ще цікаво, що є в стилі оперативної пам'яті, оскільки у мене виникли проблеми, подібні до описаних у моєму запитанні, навіть коли у мене був файл swap.
Сем Кінг

Відповіді:


2

Я щойно виявив, що в моїй системі немає місця для обміну

Якщо це правда, то, мабуть, це сприяє проблемі.

Використовуючи декілька віртуальних машин з великим розподілом пам'яті, об'єм оперативної пам’яті, як правило, більше ніж достатній для нормального використання (8 Гб), починає затягуватися, а це означає, що ваша система не зможе використовувати стільки кешу, і захоче поміняти місцями. . Тепер, якщо у вас немає підкачки, буде ще більший тиск на пам'ять, і ви навіть можете вбити завдання через те, що не вистачає пам'яті.

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

У системі, де ви працюєте з віртуальними машинами, але ви також використовуєте звичайний робочий стіл на хості VM, ви не хочете, щоб ваші VM зайняли всю вашу оперативну пам’ять, адже я би заощадив половину оперативної пам’яті (до 4 Гб ) для хоста, якщо ви працюєте з програмним забезпеченням на хості та хочете, щоб воно відповідало.

Зауважте також, що віртуальним машинам властива неефективність не лише тому, що їх оперативна пам'ять є абсолютно окремою, вони не ділять кеш-пам'ять або буфери, але вони працюють цілою окремою ОС під низкою шарів абстракції. Таким чином, ви завжди зможете досягти кращої ефективності, якщо вирішите запустити щось на хості, а не на VM - хоча якщо вашою метою використання VM є використання інших операційних систем, це буде неможливо.

Чи є спосіб переконатися, що користувальницький інтерфейс продовжує реагувати, коли мою систему тремтить?

Коли обсяг оперативної пам’яті у вас є проблемою, все, що ви можете зробити, це лише злому - справжнє рішення - придбати більше оперативної пам’яті (хоча у вашому випадку, як я вже згадував, ви зможете просто виділити менше VM).

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

Я міг уявити щось на кшталт "приємного" для пам'яті (щоб я міг приємно переглядати Chrome і мій VM)

Насправді немає «приємного для пам’яті». Доступ до пам'яті настільки швидкий, що зазвичай його практично можна ігнорувати. Коли ви молотите, це не пам'ять, це диск, ось у чому проблема. Через це є "іоніка". Хоча це, мабуть, не те, що я рекомендував би у вашій проблемі.

Іншим грубим еквівалентом «приємно для пам’яті» є своп - ви не можете контролювати, наскільки обмітний кожен процес окремо, але система робить досить непогану роботу, щоб розробити, які процеси ви активно використовуєте, а тому є більш важливим пріоритетом, який слід зберігати ОЗП.

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

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