Автор Тема: Использование оперативной памяти в Линукс  (Прочитано 729 раз)

Оффлайн GrishaDm

  • Участник
  • *
  • Сообщений: 481
Поискал в литературе и пока не нашёл ответа. По какому принципу в Линукс распределяется оперативная память между суперпользователем и обычным пользователем?
Простой пример. Скажем есть ПК с 16 ГБ памяти. Под Линукс программа HardInfo видит 16 ГБ, если она запущена от root и 8 ГБ, если от обычного. Её аналог под Виндовс - программа SysInfo - видит 16 и от того, и от другого.
1. Почему такая разница.
2. Как это повлияет на программу под Линукс, установленную от обычного пользователя, которой может просто не хватать для нормальной работы этих 8 ГБ?
Скажем программа с 3D-графикой требует оперативки чем больше, тем лучше. Будет она использоваться ей вся и в каком случае (автоматически выделится или нужно настраивать, умеют это делать сами программы под Линукс, у которых есть собственные графические ядра)?
Заранее спасибо за пояснения.

Оффлайн LXrFe

  • Участник
  • *
  • Сообщений: 68
Поискал в литературе и пока не нашёл ответа. По какому принципу в Линукс распределяется оперативная память между суперпользователем и обычным пользователем?
Простой пример. Скажем есть ПК с 16 ГБ памяти. Под Линукс программа HardInfo видит 16 ГБ, если она запущена от root и 8 ГБ, если от обычного. Её аналог под Виндовс - программа SysInfo - видит 16 и от того, и от другого.
1. Почему такая разница.
2. Как это повлияет на программу под Линукс, установленную от обычного пользователя, которой может просто не хватать для нормальной работы этих 8 ГБ?
Скажем программа с 3D-графикой требует оперативки чем больше, тем лучше. Будет она использоваться ей вся и в каком случае (автоматически выделится или нужно настраивать, умеют это делать сами программы под Линукс, у которых есть собственные графические ядра)?

Скорей всего это ошибка в  HardInfo. Ибо по классике под создаваемый процесс всегда отводится 64 Гб независимо от наличия физической памяти. И при управлении памятью не учитывается, чей процесс, рута или юзверя. 64 ГБ и точка. Косвенно повлиять может только приоритет и то только в том, что первым делом будет сброшено в swap.

Заранее спасибо за пояснения.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 250
Простой пример. Скажем есть ПК с 16 ГБ памяти. Под Линукс программа HardInfo видит 16 ГБ, если она запущена от root и 8 ГБ, если от обычного. Её аналог под Виндовс - программа SysInfo - видит 16 и от того, и от другого.
1. Почему такая разница.
"ulimit -a" что показывает от пользователя? Других идей у меня нет, у меня free одинаково показывает, что от root, что от пользователя.
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31603
max locked memory       (kbytes, -l) 4194304
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 20
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Оффлайн kessys

  • Участник
  • *
  • Сообщений: 803
1. Почему такая разница.
2. Как это повлияет на программу под Линукс, установленную от обычного пользователя, которой может просто не хватать для нормальной работы этих 8 ГБ?
Скажем программа с 3D-графикой требует оперативки чем больше, тем лучше. Будет она использоваться ей вся и в каком случае (автоматически выделится или нужно настраивать, умеют это делать сами программы под Линукс, у которых есть собственные графические ядра)?
1. Версия в репозитории устарела скачайте новую. И при сохранении проблемы обращайтесь в hardinfo.
2. 8 ГБ Для офисного режима хватит.
В отдельных случаях нехватки оперативной памяти будет заметно поведение системы или программы(когда закроется и не сохранит ни чего), но лучше для граф. программ конечно увеличить кол-во оперативной памяти.
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн GrishaDm

  • Участник
  • *
  • Сообщений: 481
ulimit -a
real-time non-blocking time  (microseconds, -R) unlimited
core file size              (blocks, -c) 0
data seg size               (kbytes, -d) unlimited
scheduling priority                 (-e) 0
file size                   (blocks, -f) unlimited
pending signals                     (-i) 31227
max locked memory           (kbytes, -l) 1024
max memory size             (kbytes, -m) unlimited
open files                          (-n) 1024
pipe size                (512 bytes, -p) 8
POSIX message queues         (bytes, -q) 819200
real-time priority                  (-r) 0
stack size                  (kbytes, -s) 8192
cpu time                   (seconds, -t) unlimited
max user processes                  (-u) 4096
virtual memory              (kbytes, -v) unlimited
file locks                          (-x) unlimited
https://ibb.co/KxfLdhn5
https://ibb.co/T6Vc0jT
« Последнее редактирование: 10.02.2025 15:33:08 от GrishaDm »

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 187
  • ITS
# apt-get install cpu-x
$ cpu-x

Оффлайн GrishaDm

  • Участник
  • *
  • Сообщений: 481
su -
Password:
[root@lureenvoy ~]# apt-get install cpu-x
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  libcpuid
Следующие пакеты будут ОБНОВЛЕНЫ:
  cpu-x  libcpuid
2 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 1434 не будет обновлено.
Необходимо получить 0B/2290kB архивов.
После распаковки потребуется дополнительно 652kB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка...                           ################################# [100%]
Обновление / установка...
1: libcpuid-0.7.1-alt1                  ################################# [ 25%]
2: cpu-x-5.1.1-alt1                     ################################# [ 50%]
Очистка / удаление...
3: cpu-x-5.0.4-alt1                     ################################# [ 75%]
4: libcpuid-0.6.5-alt1                  ################################# [100%]
gtk4-update-icon-cache: Failed to write hash table
/usr/lib/rpm/gtk4-icon-cache.filetrigger failed
egrep: warning: egrep is obsolescent; using grep -E
ошибка: posttrans filetriggers scriptlet failed, exit status 1
E: Произошли ошибки при выполнении транзакции

Оффлайн Nicom

  • Участник
  • *
  • Сообщений: 874
apt-get update && apt-get install cpu-x

Оффлайн GrishaDm

  • Участник
  • *
  • Сообщений: 481
Запустилась программа. Память 4 ГБ. Что дальше делать с ней?

Оффлайн Nicom

  • Участник
  • *
  • Сообщений: 874
Скажем есть ПК с 16 ГБ памяти. Под Линукс программа HardInfo видит 16 ГБ, если она запущена от root и 8 ГБ, если от обычного.
Нужно меньше верить графическим программулькам. Мало ли чего их разработчикам придёт в голову...
Смотрите вывод free, top, htop и подобных программ.

Запустилась программа. Память 4 ГБ. Что дальше делать с ней?
Вы хоть "железо" озвучте, иначе это гадание на кофейной гуще.

2. Как это повлияет на программу под Линукс, установленную от обычного пользователя, которой может просто не хватать для нормальной работы этих 8 ГБ?
Скажем программа с 3D-графикой требует оперативки чем больше, тем лучше. Будет она использоваться ей вся и в каком случае (автоматически выделится или нужно настраивать, умеют это делать сами программы под Линукс, у которых есть собственные графические ядра)?
У программ нет собственных графических ядер, всё общение с железом идёт через ядро.
Если программе не хватает памяти и ядро это видит, то будет работать swap.
Смотрите как будет вести себя программа с памятью, например, в htop.
« Последнее редактирование: 10.02.2025 23:51:29 от Nicom »

Оффлайн GrishaDm

  • Участник
  • *
  • Сообщений: 481
Вы хоть "железо" озвучте,
Что именно озвучить? Банк памяти 4 ГБ - его характеристики? Или вообще всё? Зачем? Скриншот не даёт вставить форум, плюс там много вкладок у программы.

Оффлайн GrishaDm

  • Участник
  • *
  • Сообщений: 481
У программ нет собственных графических ядер, всё общение с железом идёт через ядро.
https://www.altlinux.org/%D0%93%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D1%81%D1%82%D0%B5%D0%BA_Linux

Оффлайн rits

  • Участник
  • *
  • Сообщений: 1 187
  • ITS
По какому принципу в Линукс распределяется оперативная память между суперпользователем и обычным пользователем?
https://www.youtube.com/watch?v=IR5Kw-KC5qY
https://rutube.ru/video/b661a92ccb41fa7526f18109551202b4/
Распределение памяти между процессами и виртуальная память
Под root
du -sh /etc
28M /etcПод пользователем в группе wheel
du -sh /etc
du: невозможно прочитать каталог '/etc/local-policy-system': Отказано в доступе
du: невозможно прочитать каталог '/etc/openssh': Отказано в доступе
du: невозможно прочитать каталог '/etc/cron.monthly': Отказано в доступе
du: невозможно прочитать каталог '/etc/cups/ssl': Отказано в доступе
du: невозможно прочитать каталог '/etc/tcb': Отказано в доступе
du: невозможно прочитать каталог '/etc/security/console.apps': Отказано в доступе
du: невозможно прочитать каталог '/etc/security/console.perms.d': Отказано в доступе
du: невозможно прочитать каталог '/etc/cron.weekly': Отказано в доступе
du: невозможно прочитать каталог '/etc/cron.d': Отказано в доступе
du: невозможно прочитать каталог '/etc/ppp/peers': Отказано в доступе
du: невозможно прочитать каталог '/etc/strongswan': Отказано в доступе
du: невозможно прочитать каталог '/etc/osec': Отказано в доступе
du: невозможно прочитать каталог '/etc/polkit-1/rules.d': Отказано в доступе
du: невозможно прочитать каталог '/etc/cron.daily': Отказано в доступе
du: невозможно прочитать каталог '/etc/cron.hourly': Отказано в доступе
du: невозможно прочитать каталог '/etc/sudoers.d': Отказано в доступе
du: невозможно прочитать каталог '/etc/openvpn': Отказано в доступе
du: невозможно прочитать каталог '/etc/logrotate.d': Отказано в доступе
du: невозможно прочитать каталог '/etc/lvm/archive': Отказано в доступе
du: невозможно прочитать каталог '/etc/lvm/backup': Отказано в доступе
du: невозможно прочитать каталог '/etc/lvm/cache': Отказано в доступе
du: невозможно прочитать каталог '/etc/mntuser': Отказано в доступе
du: невозможно прочитать каталог '/etc/syslog.d': Отказано в доступе
du: невозможно прочитать каталог '/etc/libvirt': Отказано в доступе
26M /etc
cpu-x у меня показывает полный размер, видимо, разные программы используют разные методы опроса ограниченные по правам.
« Последнее редактирование: 11.02.2025 13:53:34 от rits »

Оффлайн Александр Ерещенко

  • Участник
  • *
  • Сообщений: 1 216
Под root
#  du -sh /etc
...
Под пользователем в группе wheel
$  du -sh /etc
А при чём тут использование файловой системы (с соответствующими правами доступа, поэтому и по-разному выглядит) и использование оперативной памяти?

Оффлайн Nicom

  • Участник
  • *
  • Сообщений: 874
Вы хоть "железо" озвучьте,
Что именно озвучить? Банк памяти 4 ГБ - его характеристики? Или вообще всё? Зачем? Скриншот не даёт вставить форум, плюс там много вкладок у программы.
Затем, что сначала вы говорите
Скажем есть ПК с 16 ГБ памяти. Под Линукс программа HardInfo видит 16 ГБ, если она запущена от root и 8 ГБ, если от обычного.
Потом, вдруг, всплывает другая цифра
Запустилась программа. Память 4 ГБ. Что дальше делать с ней?
Далее всплывает фраза
Банк памяти 4 ГБ
Или вся эта тема по принципу "чисто гипотетически", на основании картинок какой-то GUI программульки?

Я не просил скриншотов вкладок.
Можно и текстом написать модель материнской платы, объёмы и количество модулей ОЗУ. Чтобы люди могли посмотреть поведение программы на своём железе.