- The Register: сравнение потребления ресурсов различных DE под Ubuntu
- Как в Linux узнать, какой процесс использует всю оперативную память (RAM)?
- Как узнать, сколько свободной памяти в Linux
- Как просмотреть, какая программа потребляет больше всего оперативной памяти в top
- Как найти программы, которые используют больше всего памяти в ps
- Невозможно найти, через какой процесс утекает оперативная память — сумма памяти процессов меньше общей используемой памяти
- Связанные статьи:
- Эксперты оценили потребление ресурсов ПК после начальной установки дистрибутивов Ubuntu 22.04 с разными рабочими столами
The Register: сравнение потребления ресурсов различных DE под Ubuntu
Издание The Register произвело сравнение потребление сред рабочего стола в 2022 году на примере дистрибутива Ubuntu 22.04. В забеге участвовали:
- Ubuntu с GNOME 42;
- Kubuntu с KDE 5.24.4;
- Lubuntu с LXQt 0.17;
- Ubuntu Budgie с Budgie 10.6.1;
- Ubuntu MATE с MATE 1.26;
- Xubuntu с Xfce 4.16.
Итоги (отсортированы по потреблению оперативной памяти, количество занятого места на диске даёт несколько отличающиеся результаты):
- 1 место по эффективности заняла Lubuntu — рабочий стол в виртуальной машине потреблял 357 мб оперативной памяти при старте, количество занятого места на диске составило 7,3 гб.
- 2 место принадлежит XFCE — 479 мб при старте, количество занятого места на диске составило 9,4 гб.
- 3 место заняла KDE 5! 584 мб оперативной памяти на старте, количество занятого пространства на диске — 11 гб. Ремарка: в редакции Kubuntu используется частично GTK-софт.
- Самым прожорливым оказался Gnome. 710 мб на старте и 9,3 гб занятого места на диске.
Результаты аналогичного исследования за 2013 год:
- 1 место заняла Lubuntu — рабочий стол в виртуальной машине потреблял 119 мб оперативной памяти при старте, количество занятого места на диске составило 2 гб.
- 2 место принадлежало XFCE — 175 мб при старте, количество занятого места на диске составило 2,5 гб.
- 3 место заняла Unity, XFCE — 229 мб при старте, количество занятого места на диске составило 2,8 гб.
- 4 место занял Gnome, 236 мб на старте, 3,1 гб на диске.
- Самой прожорливой была Kubuntu с KDE. 256 мб на старте, 3,3 гб на диске.
MATE уже давно не гном2. Там толстолобое GTK3 со всеми вытекающими, а скоро и его дропнут, будет переход на GTK4, либо MATE просто уйдет в небытие.
Удобство и красота DE особо не изменилась за 10 лет
Сейчас проверил, обычный калькулятор в Gnome пожирает 24МБ RAM
Или где-то 0,15-0,30% от ОЗУ современного компьютера.
Насколько я знаю, а знаю я это достоверно, LxQt работает поверх стороннего WM, причём от этого незначительно изменяется и поведение самого LxQt. Так над чем в тесте работала LxQt, над openbox, xfwm, kwin?
MATE жалко, целостное DE, но очень ожирело. У меня на арче почти дефолтовое KDE жрёт меньше XFCE.
Совершенно бесполезный тест в реалиях современных машин.
Raspberry PI — это современная машина, или нет ?
Если, конечно, кто-то страдает некрофилией на одно-двухъядерных машинах с жестким диском и 2 гигами оперативки
Планшеты, магнитолы, прочие ембеддед, которым НЕКУДА вставлять твои стопицот гиг ОЗУ. Ну и смартфоны, да.
The Reg FOSS desk has lined up the official Ubuntu remixes […]
Издание The Register произвело сравнение потребление сред рабочего стола […]
А тестовая конфигурация-то неизменной осталась с 13 года? Иначе если тогда было 4 гига памяти, а теперь, условно, 16, то нет ничего предосудительного, раз память есть, чего бы её не использовать.
Хотя, конечно, скорее всего линукс просто разжирел в несколько раз без добавления хоть какой-либо фунциональности.
Вот интересно, что такого значимого в работе DE поменялось почти за 10 лет, что они стали жрать оперативку в 2-3 раза больше?
Да, конечно соглашусь, что потребление ОЗУ не основной показатель качества и оптимизации продукта, но что-то я не заметил что стало все работать быстрее и плавнее… Это очевидно деградация разрабов. Сейчас же нынче модно не думать об оптимизации — главное чтоб работало
Помнится раньше бестселлеры среди разработчиков были книги по оптимизации, алгоритмам, структурам данных, системному программированию и тому подобному, а сейчас — «Джаваскрипт для самых маленьких», компании везде форсят понятие «No code решение», хотя зачастую они выбирают это решение и внедряют его туда, куда оно никак не встанет, что приводит к ужасному пользовательскому опыту — например, всякие там ерпишки под все возможные задачи бизнеса от бухгалтерии и управлением персонала до обработки техпода, но в итоге каждый сотрудник компании ненавидит этого уродца, он тормозит, не удобен и есть отдел разрабов, которые вечно прикручивают костыли к этому монстру за копейки)
Neko_Kun ( 22.08.22 00:03:31 MSK )
Последнее исправление: Neko_Kun 22.08.22 00:03:59 MSK (всего исправлений: 1)
3 место заняла KDE 5! 584 мб оперативной памяти на старте, количество занятого пространства на диске — 11 гб. Ремарка: в редакции Kubuntu используется частично GTK-софт. Самым прожорливым оказался Gnome. 710 мб на старте и 9,3 гб занятого места на диске.
Очень странные цифры. Вот беру я, скажем, в стандартной, не кастомной поставке Fedora Workstation (GNOME) — ~1.1 гиг на старте, а вот Fedora KDE Plasma Desktop — таки уже ~1.8. Так ведь примерно аналогичные цифры наблюдаются и для, соответственно, изкоробочных Ubuntu и Kubuntu, что свежих, что не очень. KDE по дефолту жирноват, много чего в фоне работает, а в GNOME ну разве что gnome-software в простое все равно отъедает около 200 мегов.
IRASoldier ★ ( 22.08.22 01:45:47 MSK )
Последнее исправление: IRASoldier 22.08.22 01:48:19 MSK (всего исправлений: 1)
PIXEL, между прочим, годнота. Если расползётся по другим дистрибутивам и будет на них иметь хорошую поддержку, будет неплохо.
KDE в последнее время хорошо доработали, практически не кушают ресурс. Хотя странно, именно в Kubuntu всякие GUI для ubuntu-drivers на gtk, чего нет к примеру в debian, но последний ест 600-800 мб из коробки на моём ноуте…
Блин, это что, новость достойная опеннета, хабра и лора? Любой клован это делает у себя дома. Кому там заплатили чтобы это позорище висело на всех сайтах? Для чего?
R_He_Po6oT ★★★ ( 22.08.22 06:39:08 MSK )
Последнее исправление: R_He_Po6oT 22.08.22 06:40:04 MSK (всего исправлений: 1)
Наверно как лезть в дом через окно — эффективно но есть дверь
Как в Linux узнать, какой процесс использует всю оперативную память (RAM)?
Если в операционной системе заканчивается свободная оперативная память, то это очень сильно влияет на её производительность. Система начинает работать заметно медленнее, уменьшается её «отзывчивость», происходит более долгое переключение между окнами, новые процессы не запускаются или запускаются очень медленно. По этой причине, если какой-то процесс расходует слишком много оперативной памяти или тем более всю свободную оперативную память, не оставляя ресурсов для остальной системы, то необходимо его выявить и принять меры для оптимизации.
Как узнать, сколько свободной памяти в Linux
Начнём с того, что убедимся, что дело действительно в нехватке оперативной памяти, а не в том что, например, центральный процессор слишком загружен. Для этого выполним очень простую команду:
Вы увидите примерно следующее:
- Mem — физическая оперативная память
- Swap — раздел подкачки (если недостаёт оперативной памяти, то система сбрасывает временно неиспользуемые данные на физический диск, а потом по мере необходимости вновь загружает их в оперативную память. С одной стороны, это позволяет продолжить работу в условиях нехватки оперативной памяти, но с другой — система начинает работать заметно медленнее, поскольку физический диск всегда медленнее ОЗУ, плюс нужно время для записи на диск и считывание с диска)
- total — общее количество
- used — используемая в данный момент память (вычисляется как total — free — buffers — cache)
- free — неиспользуемая память
- shared — память, используемая (преимущественно) в tmpfs
- buff — память, используемая буферами ядра
- cache — память, используемая страницами cache и slabs
- buff/cache — сумма буферов и кэша
- available — примерное количество оперативной памяти, доступное для запуска новых приложений без использования ими раздела подкачки. В отличие от поля free, это поле принимает в расчёт страницу cache и также то, что не вся рекуперируемая (пригодная для повторного использования) память будет возвращена для рекуперации из-за того, что элементы используются в данный момент
Итак, если значение поля free, а в особенности поля available очень мало или равно нулю, значит нужно принимать меры, иначе рабочая станция или сервер будут работать крайне медленно либо могут полностью зависнуть.
Как просмотреть, какая программа потребляет больше всего оперативной памяти в top
Очень подробно о команде top, в том числе подсказки и интересные трюки описаны в статье «Как пользоваться командой top для наблюдения за процессами в Linux» — крайне рекомендуется ознакомиться.
По умолчанию программа top сортирует процессы по их нагрузке на центральный процессор. Чтобы посмотреть, по какому полю выполняется сортировка, нажмите клавишу x:
По умолчанию в top отображаются следующие виды памяти:
- VIRT — общее количество используемой задачей виртуальной памяти, включает все коды, данные, совместные библиотеки, плюс страницы, которые были перенесены в раздел подкачки, и страницы, которые были размечены, но не используются
- RES — используемая оперативная память, является подмножеством VIRT, представляет физическую память, не помещённую в раздел подкачки, которую в текущий момент использует задача. Также является суммой полей RSan, RSfd и Rssh.
- SHR — размер совместной памяти, подмножество используемой памяти RES, которая может использоваться другими процессами
- %MEM — доля задачи в использовании памяти (RES)
Для переключения между полями сортировки, используйте < и >. Обратите внимание, что это не курсорные клавиши, а разновидность скобок, для их использования переключитесь на английскую раскладку клавиатуры и нажимайте эти кнопки с зажатой клавишей Shift.
Пример сортировки по %MEM:
Сортировка по VIRT:
Как найти программы, которые используют больше всего памяти в ps
С помощью утилиты ps также можно составить список, отсортированный по количеству потребляемой памяти, для этого выполните:
ps -e -o pid,vsz,comm= | sort -n -k 2
Самые «прожорливые» процессы будут внизу:
Первый столбец — это PID процесса, затем идёт виртуальная память процесса в килобайтах, затем название программы.
Ещё одна элегантная команда с использованием ps:
Невозможно найти, через какой процесс утекает оперативная память — сумма памяти процессов меньше общей используемой памяти
В некоторых версиях ядер Linux присутствовала проблема утечки памяти на уровне ядра, поэтому нет никакой возможности обнаружить её инструментами пользовательского пространства. Пример такого ядра — 3.13.
Причём некоторые ядра допускают утечку памяти только в определённых условиях (пример: Linux Mint 17 при использовании btrfs).
Самым лучшим вариантом в этом случае является обновление ядра и системы в целом до новой версии.
Связанные статьи:
Эксперты оценили потребление ресурсов ПК после начальной установки дистрибутивов Ubuntu 22.04 с разными рабочими столами
Эксперты Register оценили потребление ОЗУ и объёма дискового накопителя после начальной установки дистрибутивов на основе Ubuntu 22.04 с различными версиями среды рабочего стола.
В рамках тестирования они устанавливали на виртуальной машине VirtualBox (с параметрами 4 ГБ ОЗУ, процессор с двумя ядрами, 16 ГБ дискового пространства и графический адаптер с поддержкой 3D графики по умолчанию) следующие дистрибутивы: Ubuntu с GNOME 42, Kubuntu с KDE 5.24.4, Lubuntu с LXQt 0.17, Ubuntu Budgie с Budgie 10.6.1, Ubuntu MATE с MATE 1.26 и Xubuntu с Xfce 4.16.
Исследователи делали полную установку каждого дистрибутива из ISO-образа с официального сайта, отмечая галочками как все опции установки обновлений, так и дополнительные драйверы и кодеки. Насколько это возможно, все остальные настройки оставлялись по умолчанию. После установки и перезагрузки каждой ОС и в рамках теста каждому дистрибутиву давалось несколько минут на запрос и установку дополнительных обновлений. После этого эксперты выполнили полное обновление системы вручную, например с помощью команды под sudo -s «apt update; apt full-upgrade -y; apt autoremove -y; apt purge; apt clean; snap refresh». Дополнения для работы ОС под гипервизором не устанавливались, хотя приложение Ubuntu Software Sources предлагало это сделать.
Эксперты после такой поэтапной установки дистрибутивов и запуска рабочего стола в каждом случае фиксировали потребление ресурсов в системе. Использование диска измерялось с помощью комманды «df -h», а использование памяти — с помощью «watch free -h» с последующим ожиданием стабилизации показателей.
Итоговая таблица по сравнению потребления ресурсов дистрибутивов Ubuntu 22.04 с разными рабочими столами.
Как и следовало ожидать, наименее требовательным к ОЗУ и по использованию накопителя оказался Lubuntu. Больше всего ОЗУ потребляет Ubuntu с GNOME, а по заниманию объёма дискового пространства лидером стал Kubuntu.
Примечательно, что в 2013 году эксперты Register уже проводили аналогичное тестирования с дистрибутивами на базе Ubuntu 13.04 по установке в виртуальной машине с 1 ГБ ОЗУ и 8 ГБ дискового пространства. Тогда результаты по потреблению ресурсов системами были для некоторых сред рабочего стола в 2-3 раза меньше.
Итоговая таблица по сравнению потребления ресурсов дистрибутивов Ubuntu 13.04 с разными рабочими столами.