LINUX.ORG.RU

Минимизация потребления оперативной памяти

 , , ,


0

4

Встречал на ЛОРе упоминания людей, что их система при старте потребляет 100-120 Mb оперативы. Как вам такое удаётся?
Моя система (CRUX) потребляет 190UPD: 166 Mb при старте, а это почти голые иксы — st+screen, даже WM ещё не установил.

На видео чел, у которого при старте десктоп потребляет 45 Mb:
https://youtu.be/VTpXNvmcbxA

А что вы делаете для минимизации потребления памяти?

★★★★★

Последнее исправление: teod0r (всего исправлений: 3)

Встречал на ЛОРе упоминания людей, что их система при старте потребляет 100-120 Mb оперативы. Как вам такое удаётся?

Элементарно. Смотри: моя система при старте потребляет 3 МБ.

anonymous
()

Запусти в 32-х битном режиме)) потребление памяти будет вообще крошечным

sparks ★★★★
()

незнаю как щаз, раньше качаешь какой нибудь дебиан\убунту серверный дистрибутив и сидишь в консоли с 20Мб потребляемой памяти.

А на спектруме (который синклер) так и вовсе 64кб хватало всем =)

anonymous
()

«голые иксы» - выкинь сглаживание и композитинг. Там буфер на буфере.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от anonymous

Смотри: моя система при старте потребляет 3 МБ

😀

- Сосед у меня, ему 82, рассказывает, что он может хоть каждую ночь…
- А кто вам мешает говорить также?

krasnh ★★★★
()

Захотелось посмотреть как у меня, надо будет не забыть посмотреть при следующем ребуте, но это наверно будет через несколько месяцев.

firkax ★★★★★
()
Ответ на: комментарий от teod0r

Запущеные проги у которых я не хочу терять состояние, ребуты почти всегда только из-за зависаний (вроде пофиксил) или если не уследил за батареей (очень редко).

firkax ★★★★★
()
Ответ на: комментарий от firkax

тоже ребутаюсь редко. а можно ли как-то посмотреть потребляемую память после загрузки через емулятор? например

qemu -kernel /boot/bzImage -hda ...

только чтобы вместо реального диска указать его ридонли «зеркало» с каким-нибудь оверлеем, на который бы записывались все изменения. чтобы фс не крякнула. как бы так сделать? мне кажется, что это возможно.

anonymous
()
Ответ на: комментарий от anonymous

qemu умеет делать сам такие оверлеи, называется режим снапшота. Изменения хранятся в памяти qemu или в временном файле рядом. Есть ключ -snapshot для глобального его включения и опция snapshot=on которую можно указать отдельному диску (главное не нажать какой-то хоткей который записывает накопленные изменения, или может быть можно процессу qemu дать readonly права на диск с помощью unix-прав).

Понятное дело, гостевая ОС может побиться от того что хостовая переписала что-то на диске без её ведома, но в данном случае это не страшно.

Но мне лень это делать.

firkax ★★★★★
()

На видео чел, у которого при старте десктоп потребляет 45 Mb:

Ну на 3/4 пне (i686) действительно столько жрёт. На моей OPi One с иксами около 80-100 мб потребление было (всего 500 мб озу).

На 4 малинке с DietPi, которая мне инет раздаёт, сейчас так:

whbex@pirouter:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3.7Gi       210Mi       3.6Gi       5.2Mi        94Mi       3.5Gi
Swap:             0B          0B          0B

На основном десктопе с amdgpu меньше 300 мб добиться не мог.

А что вы делаете для минимизации потребления памяти?

Ничего. 24 гб стоит, 3 гб по дефолту отжирается, жить не мешает.

whbex ★★
()
Ответ на: комментарий от firkax

Есть ключ -snapshot

👍️ круто! спасибо за инфу, почитаю, посмотрю.

anonymous
()
Ответ на: удаленный комментарий

Вполне нормальное стремление, чтобы быстрее ехать. На великах, например, снимают всякие обвесы, а тут, в жирных Гномах, отключают Гном Софтвэйр Центер или как там его.
Пореходят с ДЕ на лёгкие ВМ, а потом на лёгкие дистрибутивы. Любая ОС это прежде всего среда для запуска программ, и если она не отвлекает и не потребляет, это лучшее что она может сделать.

mobster
()

Онанизм вприсядку

hateWin ★☆
()

musl вместо glibc

anonymous
()

crux вроде из исходников собирается как гента? попробуй собрать всё с -Os, я на генте пробовал - заметно меньше оперативки потребляло

anonymous
()

поставь планку оперативы на один гиг, софт выделяет в % от всего доступной

anonymous
()
Ответ на: комментарий от anonymous

-Os

но у меня нет задачи минимизировать потребление памяти, собираю с -O2. Просто минимизация потребления памяти как дополнительный плюс. Производительность для меня важнее.

teod0r ★★★★★
() автор топика
Ответ на: комментарий от fumanchez

пакеты бинарные

нет. полностью sourced-based.

teod0r ★★★★★
() автор топика

У меня sway со всем зоопарком pipewire, xdg-portals, dbus, прочие - 300-400 MB ест. i3 без композитора и того меньше ел около 150-200 MB. Подрезать ядро от лишних опций, убрать лишний мусор неиспользуемых демонов, использовать dwm - будет меньше 100 MB.

ac130kz ★★
()
Последнее исправление: ac130kz (всего исправлений: 1)

Гента с бинарным ядром на x205ta c openbox после перезагрузки

total        used        free      shared  buff/cache   available
Mem:            1897         127        1562          21         207        1613
Swap:           2047           0        2047
Shprot
()

На видео чел, у которого при старте десктоп потребляет 45 Mb: https://youtu.be/VTpXNvmcbxA

Там чел запускает make clean install от рута и напихивает мусор в /usr/local. Не надо на такое ориентироваться.

wandrien ★★
()

фейспалм.

anonymous
()

Сократи доступный объем памяти и запрети memory overcommitment. Либо совсем откажись от glibc. Серьезно, чем больше памяти доступно, тем большими кусками glibc ее выделяет.

Khnazile ★★★★★
()

Перегрузился(gentoo, awesome), посмотрел:

>> ~ $ free -h
               total        used        free      shared  buff/cache   available
Mem:           5.7Gi       151Mi       4.9Gi        67Mi       687Mi       5.4Gi
Swap:          5.9Gi          0B       5.9Gi
В i3 немного меньше покажет. Особо не упирался чтобы уменьшить потребление, если только из ядра поудалял(и ещё наверное можно).

spawn_sp ★★★★
()
Ответ на: комментарий от Evenik

По ощущениям примерно так же как и Линуксе – запуская примерно идентичный софт, будем получать примерно идентичное потребление. Чудес не бывает, прикладной код по большей части из тех же сорцов собирается.

С той только разницей, что чётко измерить «потребляемую память» в NetBSD (про другие сходу не подскажу) не представляется возможным.

NetBSD может показывать до половины оперативки как «Active», не переводя её в «Inactive», если не испытывает давления на подсистему памяти. При этом реально за большей частью этого «Active» стоит только страничный кэш, а не действительный рабочий набор приложений.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 2)

dash вместо bash, ибо последний потребляет почти в 5 раз больше

anonymous
()

Минимизируя потребление памяти ты предлагаешь промышленности стагнацию, смерть и тлен. Предлагай развитие - максимизируй потребление памяти!

anonymous
()
Ответ на: комментарий от anonymous

Java-прога не может жрать меньше всех. Мой wm тратит несколько мбайт, и то только из-за жирного xlib-а.

firkax ★★★★★
()
Ответ на: комментарий от anonymous

пусть лошары максимизируют, а я буду потом на помойках планки по 128 Гб собирать

anonymous
()

Ну, учитывая что линуксы бывают и встраиваемые, под условные 32М опаративки...

Чесать систему и снижать потребление можно до бесконечности, но где то нужно остановиться. Как по мне пустая система должна обойтись 10% памяти, т.е. ваши 190М это отлично для 2Гб физической памяти и дальше сдувать нет смысла.

А так... Ну, собрать своё ядро тут уже предлагали. А вот собрать его без initrd чтобы упростить загрузку и не грузить собственно initrd в память - вроде бы ещё нет. И кажется не упоминали влияние модуля видеодрайвера, подгружаемого и в ядро, и в Х-сервер (вайланд-композитор? не знаю, но вероятно тоже). Соответственно выкидывание полноценного драйвера и использование условного vesa-fb тоже сократит потребление.

Короче после выкидывания явного хлама советую не сдувать дальше, а оптимизировать своп-подсистему.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Ничего. Вопрос ведь не в минимизации, а в соотношении используемой и доступной памяти. Доступной памяти пока хватает.

Tigger ★★★★★
()
Ответ на: комментарий от GroundskeeperWilli

Alpine. Но тебе не поможЭт, ты у нас тупой.

anonymous
()

Есть ли смысл в этой минимизации? Эта страница ЛОРа ест 66.5 Мб (не говоря про более тяжёлые сайты и сам браузер)

Aster
()

Ты использовать компьютер собрался или смотреть на вывод free? Сколько бы там ядро+вм/де не потребляло, программы будут потреблять намного больше.

MoldAndLimeHoney
()
Ответ на: комментарий от anonymous

кроскомпиляция мема про торрент и коммунизм ?? :)

pfg ★★★★★
()

Ты для начала посмотри выдачу top/htop/etc.., что там может жрать память. Для минимизации потребления памяти могу посоветовать:

  1. дистр без systemd
  2. Не ставить X/wayland. Использовать dvtm+abduco/screen/tmux
  3. Дропнуть лишние процессы
  4. Дропнуть лишние tty терминалы
  5. Пересобрать ядро
anonymous
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.