LINUX.ORG.RU

kubuntu 64bit видит 3.5 гб из 4 гб.

 ,


1

2

kubuntu 64bit видит 3.5 гб из 4 гб. Команда

lspci -v | less
Показала.

Memory at e0000000 (32-bit, prefetchable) [size=256M]

Драйвер видео проприетарный. Видимо это отнимает встроенная видюха. Остальных устройств отнимающих больше не замечено, есть по мелочи, но там кб (то есть нигде больше буквы M нету). Куда делись ещё 256 мб?

ммм... это как бы адресное пространство, оно реальную память не забирает, это те адреса куда pci bar замаплен.

теперь показывай, как ты смотришь память, которую видит kubuntu?

и почему ты считаешь, что она 64 бита?

dimon555 ★★★★★ ()

Вангую 945 чипсет от штеуда.

anonymous ()

Hardinfo вкладка память Total Memory - 3 641 000

Системный монитор KDE внизу написано 1.2/3.5 гб (видимо 3.5 максимум)

free -m

total used free shared buffers cached

3555 3373 181 0 192 1725

-/+ буферы/кэш: 1455 2099

Swap: 4140 186 3954

Видимо total это максимум.

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

MemTotal: 3640976 kB

MemFree: 410476 kB

Buffers: 203444 kB

Cached: 1799892 kB

SwapCached: 73512 kB

Active: 1220924 kB

Inactive: 1487004 kB

Active(anon): 233744 kB

Inactive(anon): 493136 kB

Active(file): 987180 kB

Inactive(file): 993868 kB

Unevictable: 0 kB

Mlocked: 0 kB

SwapTotal: 4240380 kB

SwapFree: 4053176 kB

Dirty: 268 kB

Writeback: 0 kB

AnonPages: 635200 kB

Mapped: 267652 kB

Shmem: 22288 kB

Slab: 257304 kB

SReclaimable: 227064 kB

SUnreclaim: 30240 kB

KernelStack: 2792 kB

PageTables: 26240 kB

NFS_Unstable: 0 kB

Bounce: 0 kB

WritebackTmp: 0 kB

CommitLimit: 6060868 kB

Committed_AS: 2293152 kB

VmallocTotal: 34359738367 kB

VmallocUsed: 105868 kB

VmallocChunk: 34359629772 kB

HardwareCorrupted: 0 kB

AnonHugePages: 0 kB HugePages_Total:

0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0

Hugepagesize: 2048 kB

DirectMap4k: 416768 kB

DirectMap2M: 3366912 kB

DirectMap1G: 0 kB

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

Какие недоверчивые =)

Linux linuxuser-PC 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:35:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

krosss ()

а гугл нынче лоровцев банит? 4*1000*1000*1000/1024*1024*1024 ~ 3.7

Отними ещё две с лишним сотни на видео, вот твоя память и получится.

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

wd и сигейт добрались до оперативки?

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

Кстати, да — шутки в стиле «1Гб = 1000Мб» характерный только для производителей жестких дисков. Объём ОЗУ всегда был «честный».

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

Дело в цене за гиг. Клиент не поленится ругаться.

Все-таки хочется знать куда делась оператива.

krosss ()

Куда делись ещё 256 мб?

dmesg | grep e820

firmware «съедает» под свои нужды. Советую просто смириться, ничего не сделаешь.

i-rinat ★★★★★ ()
Ответ на: комментарий от krosss

Сразу после загрузки в выводе команды dmesg видно, что ядро думает по поводу памяти, начиная со строки вида:

Memory: 3087232k/3144512k available ...

Что у вас там?

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

Это?

0.000000] Memory: 3608132k/4308992k available (7006k kernel code, 529564k absent, 171296k reserved, 6238k data, 992k init)

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

Да, это. Вот 4308992k как бы памяти всего {4308992/(1024*1024)=4.109 Гбайт}. На самом деле это максимальный физический адрес. BIOS может отображать физические адреса на адреса в модулях памяти не подряд, а с дырами. Но обычно это число близко к объёму плашек памяти. И BIOS ещё может отобразить видеопамять дискретного адаптера после адресов модулей памяти.

3608132+529564+171296 = 4308992

3608132k — ядро отдаёт системе, потом туда добавится память, освободжённая от initrd (initramfs) и от кода инициализации устройств (992k init) и это и будет поле MemTotal в /proc/meminfo.

171296k — резервируется ядром, если не путаю, то там размещается сам код (image) ядра, память PCI-устройст (и AGP-видеокарт), crash буфер и буфер под kexec. Но в последнем не уверен. Не знаю, можно ли ядру сказать, что нужно резервировать меньше памяти.

529564k — памяти отсутствует. Как я понимаю, это объём адресного простраства, который BIOS «вычеркнул» из использования. Как вам уже советовали, посмотрите вывод:

dmesg | grep e820
Там будут диапазоны адресов блоков памяти, которые доступны или не доступны.

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

[ 0.000000] e820: BIOS-provided physical RAM map:

[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f7ff] usable

[ 0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved

[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000dfb3efff] usable

[ 0.000000] BIOS-e820: [mem 0x00000000dfb3f000-0x00000000dfbbefff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000dfbbf000-0x00000000dfebefff] ACPI NVS

[ 0.000000] BIOS-e820: [mem 0x00000000dfebf000-0x00000000dfef4fff] ACPI data

[ 0.000000] BIOS-e820: [mem 0x00000000dfef5000-0x00000000dfefffff] usable

[ 0.000000] BIOS-e820: [mem 0x00000000dff00000-0x00000000dfffffff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved

[ 0.000000] BIOS-e820: [mem 0x00000000ffe00000-0x00000000ffffffff] reserved

[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000106ffffff] usable

[ 0.000000] BIOS-e820: [mem 0x0000000107000000-0x000000011effffff] reserved

[ 0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved

[ 0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable

[ 0.000000] e820: last_pfn = 0x107000 max_arch_pfn = 0x400000000

[ 0.000000] e820: last_pfn = 0xdff00 max_arch_pfn = 0x400000000

[ 0.000000] e820: [mem 0xe0000000-0xf7ffffff] available for PCI devices

[ 0.397699] e820: reserve RAM buffer [mem 0x0009f800-0x0009ffff]

[ 0.397705] e820: reserve RAM buffer [mem 0xdfb3f000-0xdfffffff]

[ 0.397710] e820: reserve RAM buffer [mem 0xdff00000-0xdfffffff]

[ 0.397714] e820: reserve RAM buffer [mem 0x107000000-0x107ffffff]

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

Это настройки биоса? В ноуте такого нету, там вообще ничего нету кроме времени, инфы по устройствам и возможности включать/выключать виртуализацию (функция CPU для виртуалок).

Я встречал в сети сайт, где форумчане по просьбе юзеров разлочивали BIOS и там появлялось куча функций, но боязно как-то.

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

Это настройки биоса?

Да. Может называться
Memory Remap Feature
Memory Hole Remapping
H/W Mem Remap
H/W memory hole Remapping и т.д.

redgremlin ★★★★★ ()

Блжад, почему ни один из местных школьников не спросил модель мамки?

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

Это поможет увидить, что память отбирает BIOS. И что в одном килоБайте ОЗУ 1024 байта, а не 1000, как тут пытались доказать.

А дальше можно гуглить модель ноутбука/материнки/версию BIOS и т.д. пытаясь понять, можно ли что-то с эти сделать. Насколько я знаю, ядро Linux не занимается конфигурированием контроллера памяти и шины PCI. Если BIOS «сказал» что область памяти (диапазон адресов) не подлежит использованию в качестве ОЗУ, то ядро так и будет действовать. Так что все вопросы к BIOS. Хотя, возможно, контроллер памяти умеет мапить в физическом адресном пространстве только банк памяти целиком, поэтому если в банке 4 или больше Гигабайт, то он его не сможет передвинуть в адреса выше 4 Гбайт, а BIOS будет выделять PCI-устройствам адреса ниже 4 Гбайт и забирать память. Но это всё на уровне слухов, я не изучал даташиты на чипсеты/процессоры.

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

Вряд ли я что-то найду, слишком дешев и не особо популярен netbook HP. Для крутых игр не использую, да и нельзя со слабым CPU.

Если бы было простое решение, а так потерплю.

krosss ()

Такая же хрень. F2A85M AMD Athlon 740 без видеоядра Nvidia 9600GT

Видно только 3.6Гб во всех утилитах и командах. В винде и маке видно все 4Гб. И было грузил не помню какой дистрибутив, в grub был пункт про информацию о железе и там тоже показывало всю память. Ну это ж не дело 300-400Мб не хватает. Иногда вот так чуть-чуть и система намертво зависает при звполнении всей памяти. А если еще куплю планку на 4Гб, то и с нее стырит 400Мб?

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

Это не шутки, это истина. Гига = миллиард. Мега = миллион. Кило = тысяча. Внезапно.

LightDiver ★★★★★ ()

Ядро Linux под свои нужды резервирует кусочек памяти. Его тоже учитывайте при подсчетах.

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