LINUX.ORG.RU
ФорумAdmin

Убунту Сервер 12.04 LTS (amd64) - ia32libs, сервер и i386

 , ,


0

1

В общем, ставлю сервер с LAMP+phpmyadmin+java.
Т.к. это amd64, то нужен пакет с i386-либами - ia32libs, который я установил.

Сервер настроил, запустил shell. Все отличненько крутится, но:
1) Рядом была тестовая машина с 2 гигами рамы и i386, там все это дело кушало 1.5 ГБ в запущенном виде, а на моей моей серверной машине 8 ГБ уже сервер в запущенном виде (грешу на либы i386 и увеличенный размер пакетов amd64) уже 5100 хавает о_О. Почему это так как оно сейчас есть?
2) Правильно ли я сделал что поставил amd64 под сервер? У меня и проц шустрее работать будет, поддержка на 1 процесс больше 3 гб будет... но чего ж он столько рамы то кушает!! успокойте меня: это он по началу аппетит такой имеет, когда нагрузка выше с сервера будет, потребуется больше памяти, то он успокоит свой аппетит?

UPD. Тестовая машина у меня рядом стоит, а за серверной я работаю по SSH. Сомневаюсь, что из-за SSH так сильно растёт используемая память... Или всё же оно?

P.S. Заранее, спасибо за ответы!



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

уже 5100 хавает о_О

Это убунта, ставь дебиан.

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

Оно освободит память, если ресурсов больше понадобится? Или руками надо уменьшить размер допустимого кеша? Если да, то ткните носом как? Спасибо..

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

Конечно освободит. Ядро всю _свободную_ память юзает под кэш.

pi11 ★★★★★
()

Правильно ли я сделал что поставил amd64 под сервер?

Еще один все понил. amd64 нужен для крайне узких и специфических задач. В остальном же i386 рулит и педалит, огораживая от тонн геморроя.

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

Еще один все понил

5 гигов по твоему съела система, потому что на amd64? =)

amd64 нужен для крайне узких и специфических зад

Лол.

pi11 ★★★★★
()

Рядом была тестовая машина с 2 гигами рамы и i386, там все это дело кушало 1.5 ГБ в запущенном виде, а на моей моей серверной машине 8 ГБ уже сервер в запущенном виде (грешу на либы i386 и увеличенный размер пакетов amd64) уже 5100 хавает о_О

http://www.linuxatemyram.com/

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

Просто прекрасно. Система на ровном месте не жрет в 5 раз больше памяти. Всем рикаминдую вместо 2007 возвращать 2002.

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

По ссылке трудно перейти? Зачем тебе НЕИСПОЛЬЗУЕМАЯ память? Как только понадобится, она освободится.

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

Кстати, я не уверен, что на i386 вся свободная память не используется под кэш. Либо точно так же используется, либо используется в тех пределах, в которых позволяет использовать архитектура i386.

te111011010
()

Рядом была тестовая машина с 2 гигами рамы

Дык, эта… Сравни выхлопы free -m и ps ax -o rss,cmd с тестовой машины и с боевоей, посмотри кто оккупировал память.

Т.к. это amd64, то нужен пакет с i386-либами - ia32libs, который я установил.

Абаснуй нужность? Нужно пускать какой-то софт не откомпиленый под amd64?

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

На сколько мне известно в ядре linux нет больших различий в стратегии управления памятью на архитектурах x86 и x86_64. В обоих случаях под кэш потенциально может быть задействована почти вся память не задействованная для процессов или других потребностей системы. «Почти вся» потому-что ядро старается иметь пул свободной памяти не меньше какого-то размера (размер зависит от чего-то там, уже не помню).

Подробнее про управление памятью в ядре linux можно послушать например там: http://habrahabr.ru/company/yandex/blog/231957/

В любом случае x86 система (не использующая PAE) может адресовать не более 4Гб памяти, и использовать под любые нужды может не более 4Гб памяти. Использовать оставшуюся память никак нельзя.
Так-что хрустальным розовым мечтам об использовании недоступной памяти под рамдиск с файлом подкачки суждено разбиться о чугунную задницу реальности. Увы.

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

Сервер что-то типо этого: http://zetta-core.ru/index.php?topic=19.0

Все пакеты, что там стоят, все поднятно, настроено.
Запускаю шеллом его (со всеми .so), примерно таким, что там по гайду этому, но чистый а не сборку. Вот.

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

Т.е. причин для каких-нибудь действий нет? Все нормально?

TheBear
() автор топика

Вывод первой комманды:

free -m
             total       used       free     shared    buffers     cached
Mem:          5788       4080       1708          0        163       2612
-/+ buffers/cache:       1303       4485
Swap:         5959          0       5959

Вывод второй комманды:
Пропустил все, что имеет RSS и или относится к стандарту

 11316 /usr/sbin/apache2 -k start
21080 /usr/sbin/apache2 -k start
17596 /usr/sbin/apache2 -k start
15324 /usr/sbin/apache2 -k start
21392 /usr/sbin/apache2 -k start
20300 /usr/sbin/apache2 -k start
17732 /usr/sbin/apache2 -k start
 5504 sshd: root@notty
 1232 /usr/lib/openssh/sftp-server
  612 /bin/sh ./1.sh
  608 sleep 5
 6788 /usr/sbin/apache2 -k start
 6736 /usr/sbin/apache2 -k start
 6548 /usr/sbin/apache2 -k start
16816 /usr/sbin/apache2 -k start
 4092 sshd: root@notty
  960 /usr/lib/openssh/sftp-server
135604 /usr/lib/jvm/java-6-openjdk-amd64/bin/java -Djava.util.logging.manager=or
 1624 ./logservice logservice.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
 5292 ./uniquenamed gamesys.conf
  608 /bin/sh ./authd.sh
61116 java -cp ../lib/mysql-connector-java-5.1.7-bin.jar:.:../lib/jio.jar:../lib
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
12844 ./gamedbd gamesys.conf
 2688 ./gacd gamesys.conf
 1956 ./gfactiond gamesys.conf
 2228 ./gdeliveryd gamesys.conf
 1388 ./glinkd gamesys.conf 1
 1180 ./glinkd gamesys.conf 2
 1180 ./glinkd gamesys.conf 3
 1180 ./glinkd gamesys.conf 4
457456 ./gs gs01
176700 ./gs arena04 gs.conf gmserver.conf gsalias.conf
190536 ./gs is34    gs.conf gmserver.conf gsalias.conf
187836 ./gs is26    gs.conf gmserver.conf gsalias.conf
    0 [kworker/u17:0]
    0 [kworker/u16:0]
    0 [kworker/0:1]

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

Учитывая, то на другой машине то же самое занимало 1,5 ГБ, то всё правильно, тут около 1,3 занимает.

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

у тебя занято чуть больше гига. в чём проблема?

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

Под процессы занято только 1303 из используемых 4080.
Из-за памяти занятой под кэш можно особо не переживать, по крайней мере сразу после установки. На неё может быть полезным смотреть под реальной нагрузкой.
На любой linux машине прочитай с диска файл превышающий объём свободной памяти — свободной памяти почти не останется.

Вообще интересно сравнить выхлопы этих команд на боевом и тестовом сервере. Может на тестовом сервере, по какой-то причине, меньше использовался кэш (например какой-то процесс отнял память у кэша и завершился). Может эта жабовская софтина увидила что памяти много и наплодила побольше своих процессов.

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

Она и так, и так простаивает. Мне при всем желании больше полутора гигов не забить. Остальные 2,5 на всякие кэши.

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

Да не вопрос. Советую не ставить 32x битный софт на 64 битные машины. Я, к примеру, не понял про i386 либы - ему что, нужен пхп, собранный под 32 битную архитектуру?

Насчёт памяти - нужно разобраться что под что жрёт. Жрёт - это же не плохо - наоборот, память жрёт энергию, поэтому её лучше забивать чем-нить. У меня, после месяца аптайма забито 90% памяти кэшами. Их можно очистить, но зачем?) Пусть запустит MC, там жёлтой полоской выделена кешевая память.

Если у тебя больше 3 гигов, то да, правильно, что amd64. Зато пойдёт Docker :-) и некоторые другие программы, которые уже собирают только под x64.

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

Система на ровном месте не жрет в 5 раз больше памяти

Повеяло прохладой.

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