Ubuntu замораживается, когда Использование оперативной памяти достигает максимума

Я часто раздражался на Ubuntu, когда существует пик в RAM - например, когда стартовый эмулятор Studio Android или когда вкладка Chrome замораживается - целые замораживания GUI и таким образом, я вынужден или ожидать его, возвращается или переходит к TTY и уничтожает преступника.

Действительно ли возможно, что Ubuntu управляет RAM очень по-другому, чем Windows? В Windows само приложение замораживается, но не целый GUI. Существует ли способ заставить Ubuntu вести себя больше как Windows в этом отношении?

2
задан 29 September 2016 в 04:16

2 ответа

Современная подкачка страниц использования OSs для управления памятью. Это дает некоторый advantadges системе как способность использовать больше памяти, чем Вы имеете физически, защищая некоторую чувствительную область памяти (как ядро зарезервировал память) среди других вещей, что я могу указать на некоторую ссылку на то, если Вы хотите узнать больше о подкачке страниц.

, Но что такое подкачка страниц?

я пропущу technicals и дам Вам аналогию. Предположите, что у Вас есть набор энциклопедии, от A до Z, и быть любопытным человеком, Вам нравится проводить дни, читая его. Вы сохраняете все энциклопедии на Вашей книжной полке, и у Вас есть стол для чтения, по которому у Вас может быть 4 книги.

Однажды Вы читаете о "Парусном спорте", который находится на энциклопедии буквы S. В какой-то момент Вы, возможно, должны были бы читать о чем-то еще связанном, как "Ветры" на книге буквы W. Пока у Вас есть он на Вашем столе для чтения, можно быстро открыть его и считать то, в чем Вы нуждаетесь, затем вернитесь к "Приплывающей" книге. Проблема, так как Ваш стол для чтения может только соответствовать 4 книгам, возможности высоки, Вам будет нужна книга, которая уже не является там. Затем необходимо было бы взять одну из книг от таблицы назад к полке, захватить книгу, в которой Вы нуждаетесь к столу для чтения и читаете его.

хорошо, то, что это целое заказывает историю, имеет отношение к моим замораживаниям? ну, компьютер делает что-то подобное все время. Смочь использовать больше памяти, чем он физически имеет, компьютер делят память на страницы , которые являются маленькими непрерывными блоками памяти. Это не должно быть на RAM ("стол для чтения") все время, они могли бы быть сохранены на Вашем диске ("книжная полка"). Если RAM будет полна, и ЦП нужно к чтению-записи на тех страницах, сохраненных на диске, то одна из страниц на RAM будет сохранена на диске, и страница, которую требуют, будет загружена на RAM.

Это - задание Ядра, таким образом, это очевидно для пользователя и программ. Но начиная с чтения и записи в диск очень медленнее, чем чтение и запись на RAM, Вы заметите те замораживания.

На Linux, существует раздел, названный подкачка , который используется для хранения тех дополнительных страниц. Windows делает то же самое, но я думаю, что это использует файл. Само системное ядро не заморозится, так как это будет на заблокированных ("невыгружаемых") страницах.

изображение ниже (от статьи Википедии) иллюстрирует понятие подкачки страниц (и виртуальная память, в которую мы не должны входить). Те блоки представляют страницы, выделяемые на обеих памятях или диске. Virtual Memory Paging

я верю причине могло бы быть похоже, что Linux замораживается также, то, потому что Единица (настольный GUI) могла бы испытать задержки, вызванные этим свопингом, в то время как в Windows они могли бы сохранить настольный код GUI на заблокированных ("невыгружаемых") страницах. Это - просто теория мозгового штурма все же.

3
ответ дан 2 December 2019 в 02:17

У меня были подобные проблемы в прошлом. Я изменил swappiness человечности для создания RAM записи ОС к HD намного позже.

Read ответ для изменения swappiness здесь: , Как я настраиваю swappiness?

я не могу гарантировать, что это помогает решить Вашу проблему, но по-моему это - лучший выбор.

1
ответ дан 2 December 2019 в 02:17

Другие вопросы по тегам:

Похожие вопросы: