LINUX.ORG.RU

как разморозить эвм, если закончилась память?

 


1

2

Смотрел мульт «Геркулес», переписывал неизвестные слова, параллельно 2 остановленные виртуалки. В общем, память закончилась, мышь работает, но не кликает, клавиатура не отвечает. В терминале работает, но авторизоваться нельзя, после ввода логина долгое ожидание и превышен лимит в 60 сек.

Есть ли способ освобождения памяти, чтоб хотя бы слова мог сохранить?

Кроме c control alt sysrq b?



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

Ответ на: комментарий от intelfx

ну да, наверное, винда по дефолту лучше оттюнена для десктопа, и аналог OOM-killer'а там срабатывает раньше, и планировщик специально отдаёт процессу текущего окна больше процессорного времени, и ещё что-нибудь.

Не наверное, а так и есть.

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

Вот не соглашусь. У меня иногда начинает тупить. При этом железо Core2Duo T6600 + 8Гб оперативы. Но начинает подлагивать и тормозить отрисовка на экране, особенно в браузерах. Память при этом свободна. Процессор может быть занят на 40-100% - значения не имеет. Помогает только перезагрузка. Грешу на видео - чипсет Intel GMA 4500MHD + мони 1920x1200. А может и нет... Даже не знаю куда копать.

Хотя как работала бы на нем венда не знаю, нет у меня её. Некогда мне с настройкой это фигни возиться - мне работать надо. Хотя во времена XP, когда был помоложе юзал и любил поковыряться...

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

Не доводилось отключать индексацию, как-нибудь попробовать надо)

Ждём треды этого яумамыкакира с порцией новых трабл и зависонов.

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

Я с вами полностью согласен, коллега. В винде я мог запустить две копии GTA V одновременно с конвертацией 4К-видео и архивированием Интернета, а в этом мерзком линуксе даже не смог отправит это сообщение - пришлось в винду перезагружаться.

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

Отключал. Винда цела. Софт завершался из-за нехватки памяти. Либо сразу выскакивала табличка, что не хватает памяти.

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

В винде я мог запустить две копии GTA V одновременно с конвертацией 4К-видео и архивированием Интернета

При условии, что соберешь железо, которое осилит твои задачи :)

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

Зачем ковыряешься? Убунточку накатил и работай. Разве что редактор поставить надо любимый. А на венде я буду неделю настраивать там чо-то, антивирусы и фаейрволы ставить, дрова качать для флэшек и прочая мунтатень.

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

Зачем ковыряешься? Убунточку накатил и работай. Разве что редактор поставить надо любимый. А на венде я буду неделю настраивать там чо-то, антивирусы и фаейрволы ставить, дрова качать для флэшек и прочая мунтатень.

Увы, но у меня получается так:

Винду накатил, настроил, забэкапил и работай. Разве что редактор поставить надо любимый. А на линуксе я буду неделю настраивать там чо-то, ядро конфигурировать, поправлять мелкие недоработки и настраивать DE, чтоб не тормозило и делать прочую подобную мунтатень.

Вот сейчас перенес Linux в виртуалбокс на винде, дал ему винты с ext4 и всё. А там хоть лагай не лагай, пофиг. Гостевая же. Винда - хост - ничуточки не тормозит и не зависнет. Я спокоен.

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

Я всё это уже рассказывал неоднократно, и как минимум один раз детально отвечал на в точности этот самый вопрос (как устроен запуск getty в systemd и как его настроить под себя). Повторяться не хочу.

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

Если написать свой юнит, занимающий некую TTY, или явно включить, скажем, getty@tty6.service — он будет запускаться сразу, а не on-demand.

У меня ровно таким образом на двух последних TTY запущены htop и powertop (последний через проксирующий скрипт, чтобы запускался только по нажатию клавиши).


Если вам не трудно, то можете просто скопипастить сюда или куда сочтёте нужным текст юнита и куда надо его поместить и куда надо пометить на него линк?
Комментариев скорее всего мне не надо.

Более того, весь S16 — замена исключительно одного systemd'шного компонента (собственно PID 1). Что будем делать с остальными (logind уже используется всеми, кому не лень)?

Значит таки вендорлок на systemd, хоть какой то, таки имеет место?

torvn77 ★★★★★
()

Иксы опрокинуть, например. Расширить своп. Памяти докупить наконец.

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

тогда вы сказали что я всё придумываю и ни какого «не разворачивает» нету, всё мне мол показалось.

Я мог лишь сказать, что юниты autovt@.service (которые по умолчанию являются симлинками на getty@.service) запускаются logind по необходимости, а вот если вручную включить или вручную запустить конкретный инстанс getty@.service или любой другой юнит, который использует TTY — то systemd его запустит безусловно, не дожидаясь переключения на TTY. Это в точности то, что говорю и сейчас.

можете просто скопипастить сюда или куда сочтёте нужным текст юнита и куда надо его поместить и куда надо пометить на него линк?

https://github.com/intelfx/configs/blob/master/system/verbatim-files/data/sys...

Класть в /etc/systemd/system (после правки ExecStart=), включать командой systemctl enable htop@tty12 (номер tty, разумеется, выбрать по вкусу).

Что будем делать с остальными (logind уже используется всеми, кому не лень)?

Значит таки вендорлок на systemd, хоть какой то, таки имеет место?

Я спросил «что будем делать», а не сказал, что сделать ничего нельзя. Советую начать, наконец, отличать использование API (если так угодно, API-лок) от вендорлока.

Для сведения — API logind помечен как стабильный и мне известны по меньшей мере одна независимая его реализация и один форк logind (LoginKit и elogind соответственно). Что, кстати, ещё раз показывает весьма плачевный уровень осведомлённости неприятелей systemd об этом самом systemd.

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

А что делает каталог /etc/systemd/system/getty.target.wants?
Я сейчас варианты getty@.service для каждой консоли отдельно положил туда.

getty@tty1.service
getty@tty3.service
getty@tty5.service
getty@tty2.service
getty@tty4.service
getty@tty6.service


в самом файле поменял только строку Exec

ExecStart=-/sbin/agetty --noclear --autologin user_%I %I $TERM

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

А подумать и почитать маны?

getty.target — это вспомогательная цель, запускаемая как часть multi-user.target и группирующая все явным образом запускаемые копии getty.

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

Что то такое ясно из названия, но такой же каталог есть и в /lib/systemd/system

Какая между ними разница?

Почему там исходно находиться только getty@tty1.service , а сервисы tty2-tty6 находятся в lib?

getty.target — это вспомогательная цель, запускаемая ...

То есть если каталог обозвать want'ом, то часть имени каталога перед этим вантом становится целью?

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

Файлы в /lib/systemd не предназначены для того, чтобы их редактировал юзер. Для этого есть /etc/systemd.

.target.wants

1) man systemd.target.

2) man systemd.unit – тут искать по слову want (в т.ч. с заглавной буквы).

3) Приведу пример. systemctl enable и systemctl disable включают/отключают автозапуск юнитов (юнитом может быть сервис, таймер или сокет). Вот их вывод.

# systemctl disable sshd
Removed symlink /etc/systemd/system/multi-user.target.wants/sshd.service.
# systemctl enable sshd
Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib64/systemd/system/sshd.service.
#

Надеюсь, тут и без объяснений понятно, что оно делает и как оно работает.

4) Ещё пример. Я создал юнит для обновления репозиториев Portage вместе с базой eix. Он мог бы быть просто в автозапуске, но вместо этого я создал для него таймер, т.к. комп может не перезагружаться достаточно долго, а синкаться за это время надо. Аналогично с logrotate. А вот OpenVPN я просто включил без всяких таймеров.

# grep -ir want /etc/systemd/
/etc/systemd/system/logrotate.timer:WantedBy=timers.target
/etc/systemd/system/eix-sync.timer:WantedBy=timers.target
/etc/systemd/system/openvpn@my-server.service:WantedBy=multi-user.target

В WantedBy можно прописывать не только target'ы, а и другие юниты, которые таким образом станут зависимыми от этого юнита. При запуске родительского юнита запустятся те, от которых он зависит, а если зависимостям запуститься не удалось – родительский тоже не запустится (либо поплюётся и пойдёт дальше, это настраиваемо).

Если секция [Install] в юните отсутствует, то сделать для него systemctl enable будет нельзя. Дальше в man. ИМХО, он достаточно простой и понятный.

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

Почему там исходно находиться только getty@tty1.service , а сервисы tty2-tty6 находятся в lib?

То, на что нет симлинка в каком-нибудь target'е (в /lib или в /etc == юнит disabled), не будет стартовать само, но если, например, включен автозапуск OpenVPN, а он зависит от NetworkManager*, а NetworkManager – от dbus, то запустятся все три, даже если последние два не enabled.

Некоторые сервисы могут стартовать через дубас не сразу, а по востребованию. Например, в NM была выключена сеть, а потом я включил Wi-Fi, и NM запустил wpa_supplicant, который до того не был запущен. Дубас меня почти не интересует, и я не стал разбираться в тонкостях, только что-то где-то слышал краем уха, поэтому могу ошибаться.

  • Хейтерам: в моём примере OpenVPN зависит от NM, потому что я так захотел, т.к. у меня ноут с вайфаем. На десктопе я упростил бы схему. Такая зависимость необязательна.
xenith
()
Ответ на: комментарий от torvn77

Отвечая на изначальный вопрос про tty2-tty6:

Было:

# ps aux | grep -i getty
root       339  0.0  0.0  15648  1728 tty1     Ss+  вер19   0:00 /sbin/agetty --noclear tty1 linux
root      1515  0.0  0.0  12032  2432 pts/1    S+   14:58   0:00 grep --colour=auto -i getty

Я переключился на tty2, потом обратно:

gentle systemd # ps aux | grep -i getty
root       339  0.0  0.0  15648  1728 tty1     Ss+  вер19   0:00 /sbin/agetty --noclear tty1 linux
root       667  0.0  0.0  15648  1852 tty2     Ss+  вер19   0:00 /sbin/agetty --noclear tty2 linux
root      1788  0.0  0.0  12032  2416 pts/1    S+   14:59   0:00 grep --colour=auto -i getty

Переключился на tty5 и обратно:

gentle systemd # ps aux | grep -i getty
root       339  0.0  0.0  15648  1728 tty1     Ss+  вер19   0:00 /sbin/agetty --noclear tty1 linux
root       667  0.0  0.0  15648  1852 tty2     Ss+  вер19   0:00 /sbin/agetty --noclear tty2 linux
root      1805  0.0  0.0  12032  2452 pts/1    S+   15:00   0:00 grep --colour=auto -i getty
root     30280  0.0  0.0  15648  1864 tty5     Ss+  14:37   0:00 /sbin/agetty --noclear tty5 linux

Systemd запускает getty@tty*.serice по надобности, а getty@tty1.service – по дефолту при старте системы. Если сделать systemctl enable getty@tty2.service, то при старте системы будет запускаться и на tty2. Если надо больше шести tty, то тут это описано. Кстати, на той же странице описано, как посмотреть дерево зависимостей юнитов – от чего зависит X и кто зависит от X, с чем невозможен одновременный запуск (Conflicts) и т.п.

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

Спасибо, установил себе. Правда, при press a key надо нажать не любую клавишу, а Enter. :)

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

Ну не знаю - у меня есть пара скриптов которые ставят пакеты и конфигурируют iptables и всё. Признаться у меня даже обои стоят дефолтные убунтовские. Не эти ужасные, что по умолчанию, но из дефолтного набора. Единственное, что когда на большой комп ставлю, типа домашний сервер - там есть некотороя возня по конфигурации монтирования ФС и с правами. Ну это же раз в 2 года. А на ноуте я часто на свежие релизы обновляю. Правда на 15.04 так и не перешел - заленился, а теперь уже есть смысл 15.10 подождать.

Suntechnic ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.