The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Память сервера"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Память сервера"  
Сообщение от SubGun email(??) on 24-Июл-06, 15:31 
Топом вижу следующую ситуацию:

CPU states:  5.1% user,  0.0% nice,  1.2% system,  0.3% interrupt, 93.4% idle
Mem: 244M Active, 1387M Inact, 207M Wired, 79M Cache, 112M Buf, 89M Free
Swap: 8001M Total, 108K Used, 8001M Free

  PID USERNAME   PRI NICE   SIZE    RES STATE  C   TIME   WCPU    CPU COMMAND
38093 root        96    0 44656K 42688K select 0   0:26  1.76%  1.76% perl5.8.8
41824 root        96    0 39520K 37796K select 0   0:07  0.88%  0.88% perl5.8.8
31364 clamav      20    0 30692K 28256K kserel 2   1:03  0.39%  0.39% clamd
  583 root         4    0 16412K 15776K select 0  18:31  0.05%  0.05% aveserver
44161 www         96    0 13968K  9528K select 0   0:00  0.51%  0.05% httpd
  713 mysql       20    0 79784K 44124K kserel 0 457:52  0.00%  0.00% mysqld
  404 bind        20    0 30884K 29292K kserel 0 107:34  0.00%  0.00% named
  389 root        96    0  1416K   888K select 2   4:38  0.00%  0.00% syslogd
  558 root        96    0 13656K  9188K select 2   3:47  0.00%  0.00% httpd
  650 root        96    0  1256K   744K select 2   1:44  0.00%  0.00% couriertcpd
  606 root        -8    0  1220K   676K piperd 0   1:07  0.00%  0.00% courierlogger
  649 root        -8    0  1220K   640K piperd 2   0:46  0.00%  0.00% courierlogger
  634 root         4    0  2008K  1264K select 0   0:41  0.00%  0.00% authdaemond
  638 root        96    0  2008K  1264K select 2   0:41  0.00%  0.00% authdaemond
  632 root         4    0  2008K  1264K select 2   0:41  0.00%  0.00% authdaemond
  636 root         4    0  2008K  1264K select 2   0:41  0.00%  0.00% authdaemond
  637 root         4    0  2008K  1264K select 2   0:41  0.00%  0.00% authdaemond
97177 root        96    0  4664K  2032K select 0   0:19  0.00%  0.00% nmbd
  693 root         4    0  2276K   796K select 0   0:09  0.00%  0.00% atalkd
65545 root         4    0  6232K  3132K select 0   0:08  0.00%  0.00% smbd
  481 root         4    0  1244K   680K select 2   0:06  0.00%  0.00% usbd
9138 root         4    0  6240K  3016K select 2   0:06  0.00%  0.00% smbd
  533 root         8    0  1388K   952K nanslp 0   0:05  0.00%  0.00% cron
70338 psa         96    0  6136K  2412K select 0   0:04  0.00%  0.00% sshd
  971 root         4    0  3356K  1120K select 2   0:04  0.00%  0.00% afpd
  367 root         4    0   516K   220K select 0   0:04  0.00%  0.00% devd
  607 root         4    0  1960K  1116K select 0   0:04  0.00%  0.00% authdaemond
70362 root         8    0  7016K  4988K wait   0   0:03  0.00%  0.00% mc
1017 root         4    0  1440K   964K select 0   0:03  0.00%  0.00% inetd
  520 root         4    0  3396K  1708K select 0   0:03  0.00%  0.00% sshd
  623 root         4    0  1256K   744K select 0   0:03  0.00%  0.00% couriertcpd
31217 exim        96    0  6344K  3092K select 0   0:03  0.00%  0.00% exim-4.62-0
  639 root         4    0  1256K   676K select 0   0:03  0.00%  0.00% couriertcpd
31174 root        96    0 30760K 29796K select 0   0:03  0.00%  0.00% perl5.8.8
63292 root         4    0  6152K  3052K select 0   0:02  0.00%  0.00% smbd

Во-первых, почему не используется SWAP?
Во-вторых, куда девается вся оперативная память?
Почему остается не более 100Мб из 2Gb? Приложения начинают глючить(не принимается почта).
Почему 1387M памяти в состоянии Inactive?

Спасайте.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Память сервера"  
Сообщение от Keeper (??) on 24-Июл-06, 16:03 
Имхо всё в порядке. Inact - неактивные страницы памяти (потенциально свободная память), они могут быть освобождены в любой момент, как только понадобятся. И эта память будет выделена процессам или под дисковый кэш по первому требованию.

Своп не используется, т.к. пока не нужен. Сначала должна израсходоваться Free-память, затем Inact-, и только потом своп.

P.S. Исправления приветствуются.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Память сервера"  
Сообщение от SubGun email(??) on 24-Июл-06, 16:16 
Спасибо. Просто несколько пугает такое поведение памяти.
Через какое время начинает использоваться память из Innactive? Скользо должно остаться и какими порциями выделяется?
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

12. "Память сервера"  
Сообщение от Keeper (??) on 29-Июл-06, 12:54 
> Через какое время начинает использоваться память из Innactive?

По первому требованию, почти мгновенно (миллисекунды).

> Скользо должно остаться и какими порциями выделяется?

Это решает ОС. Обычно она знает лучше. ^_^

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Память сервера"  
Сообщение от dev email(??) on 24-Июл-06, 16:04 
>Во-первых, почему не используется SWAP?

Потому что памяти хватает.

>Во-вторых, куда девается вся оперативная память?

Никуда не девается, вон сколько. (Свободной считается free+inactive).

>Почему остается не более 100Мб из 2Gb?

Ну если память есть, то система пытается от нее хоть какую-то пользу получить.

> Приложения начинают глючить(не принимается почта).

Ищи причину в другом месте.

>Почему 1387M памяти в состоянии Inactive?

Inactive значит "не очень-то и хотелось".

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Память сервера"  
Сообщение от SubGun email(??) on 24-Июл-06, 16:20 
>> Приложения начинают глючить(не принимается почта).
>
>Ищи причину в другом месте.

Во-первых, большое спасибо за ответ.
Я бы и рад найти причину в другом месте, но почта работает безглючно совершенно, когда памяти хватает, а тут, как только "Free" остается около 10Мб, клиенты не могут законнектиться к SMTP.
И, собственно, вам я бы хотел задать тот же вопрос, что и Keeper'у:
Через какое время начинает использоваться память из Innactive? Сколько должно остаться,чтобы начала использоваться Innactive и какими порциями она будет выделяеться в Free?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "Память сервера"  
Сообщение от dev email(??) on 24-Июл-06, 16:38 
>>> Приложения начинают глючить(не принимается почта).
>>
>>Ищи причину в другом месте.
>
>Во-первых, большое спасибо за ответ.
>Я бы и рад найти причину в другом месте, но почта работает
>безглючно совершенно, когда памяти хватает, а тут, как только "Free" остается
>около 10Мб, клиенты не могут законнектиться к SMTP.

10 мег - это уже малова-то, IMHO. Ты уверен, что это состояние держится долго, а не просто пики? И что в эти моменты своп тоже не используется?

>И, собственно, вам я бы хотел задать тот же вопрос, что и
>Keeper'у:
>Через какое время начинает использоваться память из Innactive? Сколько должно остаться,чтобы начала
>использоваться Innactive и какими порциями она будет выделяеться в Free?

Не заморачивайся цифрой free, распределение памяти гораздо сложнее, чем просто "свободно<->занято", оставь это системе.
Запусти вот такую програмку и (если у тебя разрешено занимать так много памяти) inactive превратится в free. Если цифру еще больше подставишь, то и своп начнет использоваться :)

#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char** argv)
{
        size_t s = 1024*1024*1024; /* 1 GB */

        void* p = malloc(s);
        memset(p, 0, s);
        /*sleep(20);*/
        free(p);

        return 0;
}

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "Память сервера"  
Сообщение от SubGun email(??) on 24-Июл-06, 16:58 
#cc test_mem.c
#./a.out
Segmentation fault (core dumped)
#top
Mem: 256M Active, 963M Inact, 205M Wired, 82M Cache, 112M Buf, 501M Free

Так и должно было случиться? Если да, то каким образом произошло такое?

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

7. "Память сервера"  
Сообщение от dev email(??) on 24-Июл-06, 17:06 
>#cc test_mem.c
>#./a.out
>Segmentation fault (core dumped)
>#top
>Mem: 256M Active, 963M Inact, 205M Wired, 82M Cache, 112M Buf, 501M
>Free
>
>Так и должно было случиться? Если да, то каким образом произошло такое?
>

Ага, значит не даешь выделять столько памяти :)
Уменшь число в коде до 200 мег и попробуй еще раз. Но тогда чудесное превращение произойдет только с 200 мегами памяти.

Примечание: можно раскоментировать паузу в коде и запускать несколько экземпляров одновременно.

Только учти, этот код служит исключительно для познавательных целей, приктической пользы от него нет.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

8. "Память сервера"  
Сообщение от SubGun email(??) on 24-Июл-06, 17:17 
Где именно уменьшить до 200? Вот так: "size_t s = 200*1024*1024;" ?
Я конечно же прошу прощения за мою наглость, вы и так мне помогли достаточно, но не мог ли бы вы, хотя бы в двух словах объяснить мне, как работает эта программа?
И еще, почему "size_t" и "s" отдельно? "size_t" - это какой-то класс, объявленный где-то в подключенных библиотеках?
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

9. "Память сервера"  
Сообщение от dev email(??) on 24-Июл-06, 17:29 
>Где именно уменьшить до 200? Вот так: "size_t s = 200*1024*1024;" ?

Да

>Я конечно же прошу прощения за мою наглость, вы и так мне
>помогли достаточно, но не мог ли бы вы, хотя бы в
>двух словах объяснить мне, как работает эта программа?

Да просто отхватывает кусок памяти, заполняет его нулями (если не заполнить, то ОС вообще эту память выделять не будет :), ждет немного (это закоментировано), потом освобождает память и выходит.

>И еще, почему "size_t" и "s" отдельно?

Как обычно с Си: size_t - имя типа, s - имя переменной.

> "size_t" - это какой-то класс,
>объявленный где-то в подключенных библиотеках?

size_t это специальный тип для размеров в памяти. См., например, man malloc. Вместо него можно использовать и простой int, но это идеологически не верно.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

10. "Память сервера"  
Сообщение от SubGun email(??) on 24-Июл-06, 17:41 
Спасибо большущее.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

11. "Память сервера"  
Сообщение от AMDmi3 on 24-Июл-06, 23:28 
>Во-первых, почему не используется SWAP?
>Во-вторых, куда девается вся оперативная память?
>Почему остается не более 100Мб из 2Gb? Приложения начинают глючить(не принимается почта).
>Почему 1387M памяти в состоянии Inactive?
Все нормально.
http://linuxforum.ru/index.php?showtopic=23399&pid=230112&st=0&#entry230112
Google на тему `inactive memory', handbook.

>Спасайте.
Не принимается почта - читай логи почтовика.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру