LINUX.ORG.RU

Не видной всей памяти

 


0

1

Доброго времени суток всем.

Система Fedora-30, 32-битная. У меня 4 гига памяти, BIOS их видит точно 4, а вот система - нет, но только 3.

Выводы команд:

============ вывод команды free

    total    used    free    shared  buff/cache   available

Mem: 3021692 1287744 140124 140236 1593824 1485928

============ вывод команды cat /proc/meminfo

MemTotal: 3021692 kB …

============ вывод команды nmon = показывает 2950.9 памяти

============ вывод команды lspci -v -s 00:02.0

00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10) (prog-if 00 [VGA controller]) Subsystem: Gigabyte Technology Co., Ltd Device d000 Flags: bus master, fast devsel, latency 0, IRQ 16 Memory at e3200000 (32-bit, non-prefetchable) [size=512K] I/O ports at e400 [size=8] Memory at d0000000 (32-bit, prefetchable) [size=256M] Memory at e3100000 (32-bit, non-prefetchable) [size=1M] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit- Capabilities: [d0] Power Management version 2 Kernel driver in use: i915 Kernel modules: i915

как видно, видео отжимает вроде как 256 мегабайт

============ вывод команды vmstat -s = показывает

  3021692 K total memory

============ наконец, вывод команды dmidecode -t 17

показыввает ДВЕ существующие планки по 2 гига!

dmidecode 3.2 Getting SMBIOS data from sysfs. SMBIOS 2.4 present.

Handle 0x001A, DMI type 17, 27 bytes Memory Device Array Handle: 0x0019 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: A0 Bank Locator: Bank0/1 Type: Unknown Type Detail: None Speed: 667 MT/s Manufacturer: Serial Number: Asset Tag: Part Number:

Handle 0x001B, DMI type 17, 27 bytes Memory Device Array Handle: 0x0019 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: A1 Bank Locator: Bank2/3 Type: Unknown Type Detail: None Speed: 667 MT/s Manufacturer: Serial Number: Asset Tag: Part Number:

============

ВОПРОС: на что уходит целый гиг памяти? Ну или не 1 гиг, а 1 гиг минус 256 мегов (которые отбирает видео) ?? КАК узнать где эта память?

Всем спасибо.



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

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

оффтоп

товарищ Линус Торвальдс сильно ругал в присущей ему матерной форме

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

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

вот что интересно:

  • линуксоидам везде винда мерещеться
  • виндузятники даже в упор линукса не замечают
anonymous
()
Ответ на: оффтоп от anonymous

У него отец — коммунист. А финский коммунист наверняка знает русский. Так что он практически Лёня Торвальдов.

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

У него отец — коммунист.

правда что-ли?! вот не знал… теперь я начинаю кое-что подозревать.

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

в 64бит системе 32бит софт прекрасно работает с мультилибом. на самом деле, тебе достаточно вообще только 64бит ядра с 32бит юзерспейсом

anonymous
()

Без PAE этот гиг не получить.

PAE нормально работает только в ядрах <= 4.4

Начиная с 4.14 PAE сломано и чинить его уже никто не собирается.

Погугли «__radix_tree_lookup errors»

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

64битное ядро ставь

Ну так, но это уже радикальная мера. Интересует, есть ли в принципе какой-либо выход БЕЗ переустановки ядра…

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

нет, с pae оно будет видно, но oops можно получить в любой момент :(

vel ★★★★★
()

Ддве плашки по 16 гигов:

~ 
➜ free -h 
               total        used        free      shared  buff/cache   available
Mem:            30Gi       3.1Gi        23Gi       169Mi       4.4Gi        27Gi
Swap:          4.0Gi          0B       4.0Gi

Вроде должно быть 1 GB = 1,000 MiB, тогда должно быть 31.25 GiB, я хз может часть память резервируется под адресацию чего-либо либо под кеш SSD и прочее

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

в европе к коммунизму несколько иное отношение из-за того, что итальнские красные бригады устраивали теракты… одно дело вера в светлое будущее без капитализма, а другое бесмысленная жестокость… хотя об ужасах красного террора в россии европейцы знали намного лучше чем обычные жители советского союза

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

Спасибо! Вроде все сходится. Вот только гугл-переводчик почему то «память» переводит как «бараны»…

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

ну в английском больше слов с одинаковым значением типа наших замок, пол, стул и тп

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

Это тонкий намёк от гугля на то что в IT без знания английского делать нечего.

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

Для работы опции Memory remap feature необходима ее поддержка со стороны операционной системы. Опцию поддерживают далеко не все современные операционные системы, а лишь их 64-разрядные версии. Также есть возможность использовать описываемую функцию и в тех 32-разрядных версиях операционных систем, которые поддерживают встроенную в современные процессоры систему физической адресации памяти PAE (Physical Address Extension).

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

Да вот я тоже до этого дочитался. У меня ядро без поддержки РАЕ. Как узнать поддерживает ли эту хрень процессор? Или если даже проц поддерживает, а ядро - нет, то смысла включать опцию все равно нет?

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

Проц поддерживает наверняка, посмотреть можно в списке поддерживаемых процом расширений.

cat /proc/cpuinfo | grep pae

Если в выхлопе будет строка flags: и много разных сокращений, значит поддерживает. Если ничего не вернёт - нет, не поддерживает.

Но без поддержки ОС это ничего не даст, включил ты в bios эту опцию или нет. Пишут что современные ядра с поддержкой pae сломаны и их никто не чинит, так как пользователей 32+pae уже практически нет. Так что или смирись, или переходи на 64битный дистрибутив Линукс. Совместимость с 32бит софтом у них у всех есть, называется multilib support. Означает поддержку 32 и 64 битных библиотек одновременно.

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

«Если в выхлопе будет строка flags: и много разных сокращений…»

Да, есть - два «выхлопа» и в обоих есть рае. Значит процессор поддерживает. Но если ядро БЕЗ поддержки - все равно включать не стоит, я так понимаю. Или попробовать?.. В общем все идет к тому, что надо думать о 64-битной системе.

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

Три и должна без PAE. У тебя гиг адресного пространства выжирает ядро.

Книжки почитай штоле.

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

Два «выхлопа» это от двух ядер, или твой проц с мультитредингом, он тоже системе как двухядерный представляется. Это нормально.

Включить можно, может как то изменит картину распределения памяти, кто его знает... «Доктор, мне это поможет? Ну... Не повредит.» Думать рекомендую не просто о 64битной системе, но о наращивании мозгов хотя бы до восьми гигабайт, раз уж пошла такая пьянка. Кстати, почитай про zram, для систем с малым ОЗУ вещь незаменимая, а для твоих четырёх гигабайт так просто необходимая.

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

Да разница небольшая. Тебе же не x32 надо в Gentoo компилять. Вот там да, куча хаков и прирост производительности. Впрочем ядро там все равно самому собирать придется как и всю/почти всю систему.

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

То есть при 4 гигах есть выбор не только в пользу ядра с х64 адресацией памяти, но и все тот же потолок оставить в 4 гига с PAE, но с ускорением работы (нестабильно). Зато будет повод в Gentoo повтыкать.

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

Если не играться с требовательными игрушками и виртуалками, то и 4 пока ещё достаточно, особенно с zram. Но 64 бита, конечно, обязательно. Мало того, что это новые инструкции и прочее, что существенно ускоряет работу, но так ведь 32 бита даже там, где ещё не выкинули, практически не тестируют — некому. Сам с таким сталкивался — Сегодня состоялся релиз ROSA Desktop R8 (комментарий)

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

Согласен, сам бы на четырёх гигах предпочёл 32 бита с zram и pae, так как 32битный код и структуры в памяти компактнее размещаются, что так же для 4гигов актуально. Но действительно, не тестируют, глюки не фиксят годами, многие вещи физически стало в самой 32бит системе на 4 гигах собрать невозможно даже с zram. Я с этим достаточно давно на Gentoo столкнулся. 32 бита там полумёртвые, потому что репортить, фиксить и тестировать тупо некому уже.

Да, мне сейчас тут расскажут как прекрасно собирают 32 бит генту. Собирают, то что ещё пока работает, но не прекрасно, и непрерывно ковыряясь в багзилле в поисках так не принятых патчей в годами открытых тикетах.

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

«почитай про zram»

Почитал, вроде штука ничего. Кстати, откуда процессор берет пространство под этот самый почитай zram ? С физического диска,думаю? Если так, то с какого? Можно указать это?

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

Из памяти и берёт. Просто в ней же и сжимает. Раз тебе этот момент не понятен значит плохо читал. Читай ещё раз, в другом месте, более понятными словами.

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

Судя по его постам он вряд ли настолько колдун чтобы самостоятельно это вылепить из генты например. А так да, лучше чем 32+pae.

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

А при чем тут гента и зачем мне что-то лепить из нее? Мне нужен дистр для РАБОТЫ, поставить - конечно, что-то где-то поднастроить - и работать, а не ставить для того чтобы только и делать чтобы чинить. И «колдовство» тут ни при чем - при сильном желании еще не то сделать можно, благо инет был бы.

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

Совершенно не при чём. Я же не заставляю и не настаиваю, твой компьютер, используй его как считаешь нужным.

Анон сказал что 64битное ядро с 32битным юзерспейсом это хорошая альтернатива 32битному ядру+pae на машинках с 4гигами мозгов. Я согласился, но засомневался что ты будешь самостоятельно изображать подобное из конструктора, так как готовых дистрибутивов с таким сочетанием нет. Multilib в современных дистрибутивах это не совсем то, юзерспейс 64битный, просто с возможностью пускать 32битный софт.

А Gentoo тут при том что позволяет вылепить подобное. Как в той рекламе «Ну ты могла бы, если бы хотела». Тебе в это красноглазие совершенно упираться не нужно, просто нужно перейти на любой относительно современный 64битный дистрибутив.

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

Добавь в /etc/yum/repos.d/ описатель для репозитория с 64-разрядной федорой и поставь из этого репозитория пакет kernel.x86_64. Будет у тебя система с 64-разрядным ядром и 32-разрядным юзерспейсом, и будет видеть всю память. Если не загрузится 64-разрядное ядро (например, процессор не поддерживает 64-бита), выберешь в грубе старое ядро и загрузишься им.

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

«описатель для репозитория с 64-разрядной федорой»

Еще бы знать, где его взять для 30-й Федоры. Гугл не знает (а может и знает, где-то на 1285-й странице)…. )))

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

Положи в /etc/yum.repos.d/fedora-30-x86_64.repo:

[fedora-30-x86_64]
name=Fedora 30 - x86_64
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-30&arch=x86_64
enabled=1
metadata_expire=7d
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-30-x86_64
skip_if_unavailable=False
includepkgs=kernel*

[updates-30-x86_64]
name=Fedora 30 - x86_64 - Updates
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/30/Everything/x86_64/
metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f30&arch=x86_64
enabled=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-30-x86_64
skip_if_unavailable=False
includepkgs=kernel*

Либо ты можешь сам скопировать

  • /etc/yum.repos.d/fedora.repo в /etc/yum.repos.d/fedora-x86_64.repo
  • /etc/yum.repos.d/fedora-updates.repo в /etc/yum.repos.d/fedora-x86_64-updates.repo

И подредактировать копии:

  • заменить все $basearch на x86_64
  • добавить в названия репозиториев суффикс -x86_64
  • добавить в репозитории fedora-x86_64 и updates-x86_64 директиву includepkgs=kernel*, чтобы dnf брал из этих репозиториев только пакеты, относящиеся к ядру
iliyap ★★★★★
()
Ответ на: комментарий от TRAFIK

Для доступа к оборудованию ему тоже должны быть назначены адреса.

32 битная система может адресовать только 4 Гб памяти и адреса для устройств назначаются сверху этого диапазона.

Чем больше в системе устройств тем больше памяти из 4 Гб будет недоступно.

В ядре есть опция PAE ( physical addres extension) для адресации более чем 4 Гб, но вроде бы сейчас эту опцию не включают.

Ну только перекомпилировать ядро.

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

«есть ненулевой шанс, что он заломает систему таким франкенштейном ;)»

Систему я не заломал. Но ядро не поставилось - пишет о проблемах совместимости каких-то модулей что ли. Да ладно, господа, забейте на все это. Как-нибудь соберусь и поставлю 64-ку. Всем пока что спасибо.

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

а если бы начал бодаться с совместимостью - систему бы ты заломал, 100%

прежде чем что-то там ставить, хотя бы сделай то, что я советовал (скачать 64битную федору34 на xfce и проверить первую колонку в выводе free -m) + посмотреть, насколько просядеть производительность

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