URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 59053
[ Назад ]

Исходное сообщение
"FreeBSD видин не все из 4Г оперативки"

Отправлено АрхангелГавриил , 10-Авг-05 11:41 
Есть сервер под FreeBSD 5.3. Физически на нем установлено 4Г оперативки. Однако система видит только вот что:
real memory  = 3212726272 (3063 MB)
avail memory = 3143102464 (2997 MB)
Т.е. 3Г из 4.
Кто нибудь в курсе, что это за фишка и возможно как то повлиять на ситуацию?
PS
Железо -- Системная  плата  Intel  SE7221BK1-E  (Buckner),  Intel  E7221 чипсет,
800MHz  FSB,  до 1 CPU Intel Pentium 4 (1MB L2 cache), до 4GB DDR2-400
(PC3200) ECC unbuffered SDRAM, 2 банка памяти (4 DIMM слота)
http://www.kraftway.ru/calc/el14_calc.html

Содержание

Сообщения в этом обсуждении
"FreeBSD видин не все из 4Г оперативки"
Отправлено Pavel , 10-Авг-05 12:08 
>Есть сервер под FreeBSD 5.3. Физически на нем установлено 4Г оперативки. Однако
>система видит только вот что:
>real memory  = 3212726272 (3063 MB)
>avail memory = 3143102464 (2997 MB)
>Т.е. 3Г из 4.
>Кто нибудь в курсе, что это за фишка и возможно как то
>повлиять на ситуацию?
>PS
>Железо -- Системная  плата  Intel  SE7221BK1-E  (Buckner),  
>Intel  E7221 чипсет,
>800MHz  FSB,  до 1 CPU Intel Pentium 4 (1MB L2
>cache), до 4GB DDR2-400
>(PC3200) ECC unbuffered SDRAM, 2 банка памяти (4 DIMM слота)
>http://www.kraftway.ru/calc/el14_calc.html


на страничке http://www.kraftway.ru/calc/el14_calc.html  включите JS и выберите 4гига в select`е

При установке в сервер модулей памяти общим объемом 4GB, количество оперативной памяти, доступной для операционной системы будет в пределах от 3.3GB до 3.55GB (в зависимости от конфигурации сервера).Это связано с особенностями архитектуры чипсетов (и не только от Intel), которые используются как в серверах, так и в ПК, поддерживающих установку максимального объема памяти в 4GB.


"FreeBSD видин не все из 4Г оперативки"
Отправлено АрхангелГавриил , 10-Авг-05 12:15 
хм. загадочная фраза. :)
а вообще то реально хоть на каком не сильно навороченном железе действительно поиметь заветные 4Г памяти?

"FreeBSD видин не все из 4Г оперативки"
Отправлено lavr , 11-Авг-05 15:05 
>хм. загадочная фраза. :)
>а вообще то реально хоть на каком не сильно навороченном железе действительно
>поиметь заветные 4Г памяти?

читайте внимательно:

0xFFFFFFFF      +-----------------------+-----
                |                       |
                |       KERNEL          | (1G)
                |                       |
0xC0000000      +-----------------------+-----
                |                       |
                |       USER STACK      |
                |           |           |
                |           V           |
                |                       |
                +-----------------------+
                |                       |
                |                       |
                |  AVAILABLE FOR MMAP   |
                |                       | (stack, mmap, user data,program)      
                |                       | = 3G
MAXDSIZ         +-----------------------+
                |                       |
                |   USER DATA (NON-MMAP)|
                |                       |
                +-----------------------+
                |                       |
                |     PROGRAM BINARY    |
                |                       |
0x00000000      +-----------------------+-----

    Any C program which uses shared libraries uses mmap().  Many library
    functions and libraries also use mmap(), including portions of our
    malloc() implementation (though the main area used by mmap is the
    user data area).  If you increase MAXDSIZ to the point where there
    is not enough VM for the mmap()'s programs make then you will run
    into the problems you are having.

    I'm not sure why you are trying to have squid use all 4G of the
    machine directly in its user data area.  Squid caches a lot of
    things in memory, sure, but it also caches things in files and
    FreeBSD will use free physical memory to cache those files
    regardless of how you configure the machine.  So you should be
    getting good utilization of your 4G of memory even if Squid cannot
    use all 4G in its user data area directly.   Setting MAXDSIZ to
    2.9GB out of the 3G of user VM available puts a huge squeeze on
    how much the program can mmap() before it runs out of VM.

                                        -Matt
                                        Matthew Dillon
                                        <dillon@backplane.com>

# less /sys/conf/NOTES
...
#
# Certain applications can grow to be larger than the 512M limit
# that FreeBSD initially imposes.  Below are some options to
# allow that limit to grow to 1GB, and can be increased further
# with changing the parameters.  MAXDSIZ is the maximum that the
# limit can be set to, and the DFLDSIZ is the default value for
# the limit.  MAXSSIZ is the maximum that the stack limit can be
# set to.  You might want to set the default lower than the max,
# and explicitly set the maximum with a shell command for processes
# that regularly exceed the limit like INND.
#
options         MAXDSIZ=(1024UL*1024*1024)
options         MAXSSIZ=(128UL*1024*1024)
options         DFLDSIZ=(1024UL*1024*1024)