Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Настройки Shared memory / 25 сообщений из 28, страница 1 из 2
05.02.2008, 16:02
    #35111195
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Здравствуйте помогите разобраться в настройках shared memory и откуда что берется -например размеры выделяемых сегментов в онстат. все темы в этом форуме касаемые подобных настроек и руководства прочитаны и все равно непонятно... может есть еще где-то литература где на примерах можно разобраться что и как. я недавно с этим столкнулась так что не ругайте. есть информикс 9.4 тс7 на вин2003 сервер. .

# Shared Memory Parameters

LOCKS 120000
BUFFERS 130000
NUMAIOVPS
PHYSBUFF 32
LOGBUFF 32
CLEANERS 64
SHMBASE 0xC000000L
SHMVIRTSIZE 750000
SHMADD 260000
SHMTOTAL 2907400
CKPTINTVL 1200
LRUS 31
LRU_MAX_DIRTY 30
LRU_MIN_DIRTY 20
TXTIMEOUT 300
STACKSIZE 64

C:\Informix>onstat -g seg

IBM Informix Dynamic Server Version 9.40.TC7 -- On-Line -- Up 4 days 04:32:30 -- 1297024 Kbytes

Segment Summary:
id key addr size ovhd class blkused blkfree
1381386241 1381386241 c000000 560136192 232432 R* 136718 34
1381386242 1381386242 2d630000 768016384 24080 V 6752 180752
Total: - - 1328152576 - - 143470 180786

Пользователей активных 75.Всего 128. Откуда берется общее кол-во пользователей?
...
Рейтинг: 0 / 0
05.02.2008, 16:36
    #35111329
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
froz.. руководства прочитаны и все равно непонятно...

Что именно прочитано?
# Administrator's Guide, Version 9.4
# Administrator's Reference, Version 9.4
http://www-306.ibm.com/software/data/informix/pubs/library/ids_94.html


LOCKS 120000
каждый лок 44 байта 120000*44, локи могут динамически добавляться (onstat -k), память выделяется в резидентном сегменте (R)

BUFFERS 130000
на винде размер буфера 4кб * 130000 выделяется в (R)

PHYSBUFF 32
в кб * 2 (их типа два, текущий предыдущий) =64кб память выделяется в (R)
LOGBUFF 32
в кб * 2 (их типа два, текущий предыдущий) =64кб память выделяется в (R)

SHMVIRTSIZE 750000
первичный размер виртуального сегмента (V)
SHMADD 260000
если первичный размера не хватит на столько будет увеличен

SHMTOTAL 2907400
максмум который можно выделить все вместе V+R+M, дальше информикс не будет пытаться брать память у операционки

Код: plaintext
1.
2.
3.
4.
size       ovhd     class blkused  blkfree
560136192  232432   R*    136718   34
768016384  24080    V     6752     180752
Total:  1328152576 -        -     143470   180786

R
560136192/1024 = 547008
130000*4 + 120000*44/1024 + 32*2 + 32*2 = 525285
ну 20 метров еще на что-то.

V
768016384/1024 = 750 016 ваш SHMVIRTSIZE
используется блоков (4кб) 6752 свободно (4кб) 180752
т.е. SHMVIRTSIZE можно уменьшить и очень сильно (или это цифры без пользователей, тогда лучше не уменьшать).

Обычно R больше V, у вас наоборот.
onstat -g ses покажет сколько сессии жрут памяти, взять максимум * кол-во -- получим примерно сколько надо SHMVIRTSIZE


frozПользователей активных 75.Всего 128. Откуда берется общее кол-во пользователей?вопрос не понял, вы о чем?
...
Рейтинг: 0 / 0
05.02.2008, 17:04
    #35111461
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Это цифры с пользователями. Вот именно те 2 книжки я и прочитала помимо обсуждений. Хоть убейте не понимаю....

R
560136192/1024 = 547008 - что это дает и с чем его сравнить
130000*4 + 120000*44/1024 + 32*2 + 32*2 = 525285 - и это тоже и почему на 44 умножить
непонятно откуда берется в onstat -u users total
...
Рейтинг: 0 / 0
05.02.2008, 17:56
    #35111743
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozЭто цифры с пользователями. Вот именно те 2 книжки я и прочитала помимо обсуждений. Хоть убейте не понимаю....еще читайте.

frozR
560136192/1024 = 547008 - что это дает и с чем его сравнить
ничего не дает
BUFFERS 130000 т.е. ~500мб под кеширование диска
уровень кеширования смотрим onstat -p (%cached) для чтения и для записи, некоторые считают что должно стремится к 99%


froz130000*4 + 120000*44/1024 + 32*2 + 32*2 = 525285 - и это тоже и почему на 44 умножитьна одну блокировку тратится 44 байта, так разработчики информикса решили и написали это в доку.

froz непонятно откуда берется в onstat -u users totalпокажите этот самый onstat -u
...
Рейтинг: 0 / 0
05.02.2008, 18:10
    #35111789
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
IBM Informix Dynamic Server Version 9.40.TC7 -- On-Line -- Up 4 days 06:56:12 -- 1297024 Kbytes

Userthreads
address flags sessid user tty wait tout locks nreads nwrites
2d853018 ---P--D 1 informix - 0 0 0 594 324
2d85362c ---P--F 0 informix - 0 0 0 0 1018
2d853c40 ---P--F 0 informix - 0 0 0 0 3869
2d854254 ---P--F 0 informix - 0 0 0 0 4940
2d854868 ---P--F 0 informix - 0 0 0 0 6126
2d854e7c ---P--F 0 informix - 0 0 0 0 4431
2d855490 ---P--F 0 informix - 0 0 0 0 5788
2d855aa4 ---P--F 0 informix - 0 0 0 0 8
2d8560b8 ---P--F 0 informix - 0 0 0 0 84
2d8566cc ---P--F 0 informix - 0 0 0 0 11
2d856ce0 ---P--F 0 informix - 0 0 0 0 16
2d8572f4 ---P--F 0 informix - 0 0 0 0 0
2d857908 ---P--F 0 informix - 0 0 0 0 0
2d857f1c ---P--F 0 informix - 0 0 0 0 0

2d86a8f0 ---P--F 0 informix - 0 0 0 0 0
2d86af04 ---P--F 0 informix - 0 0 0 0 0
2d86b518 ---P--F 0 informix - 0 0 0 0 0
2d86bb2c ---P--- 6 informix - 0 0 0 0 4
2d86c140 ---P--B 7 informix - 0 0 0 33445 96
2d86c754 Y------ 38 etserver IRESERV 2e0184b8 0 2 0 0
2d86cd68 Y--P--D 13 informix - c08f174 0 0 0 0
2d86d37c ---P--D 10 informix - 0 0 0 0 0
2d86d990 Y------ 38 etserver IRESERV 2e0184b8 0 2 0 0
2d86dfa4 Y--P--- 38 etserver IRESERV 2e401670 0 2 413 3
2d86e5b8 Y------ 38 etserver IRESERV 2e018508 0 2 0 0
2d86ebcc Y------ 38 etserver IRESERV 2e018508 0 2 0 0
2d86f1e0 Y------ 38 etserver IRESERV 2e460820 0 2 9 0
75 active, 128 total, 111 maximum concurrent


там и активных 75-то нет, 128 откуда?
...
Рейтинг: 0 / 0
05.02.2008, 18:16
    #35111803
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
как вообще можно отследить пользователей которые просто подключились и ничего не делают зато отъедают память?
...
Рейтинг: 0 / 0
05.02.2008, 18:21
    #35111817
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
2d853018 ---P--D 1 informix - 0 0 0 594 324
2d85362c ---P--F 0 informix - 0 0 0 0 1018
2d853c40 ---P--F 0 informix - 0 0 0 0 3869
2d854254 ---P--F 0 informix - 0 0 0 0 4940
2d854868 ---P--F 0 informix - 0 0 0 0 6126
2d854e7c ---P--F 0 informix - 0 0 0 0 4431
2d855490 ---P--F 0 informix - 0 0 0 0 5788
2d855aa4 ---P--F 0 informix - 0 0 0 0 8
2d8560b8 ---P--F 0 informix - 0 0 0 0 84
2d8566cc ---P--F 0 informix - 0 0 0 0 11
2d856ce0 ---P--F 0 informix - 0 0 0 0 16
2d8572f4 ---P--F 0 informix - 0 0 0 0 0
2d857908 ---P--F 0 informix - 0 0 0 0 0
2d857f1c ---P--F 0 informix - 0 0 0 0 0

2d86a8f0 ---P--F 0 informix - 0 0 0 0 0
2d86af04 ---P--F 0 informix - 0 0 0 0 0
2d86b518 ---P--F 0 informix - 0 0 0 0 0
2d86bb2c ---P--- 6 informix - 0 0 0 0 4
2d86c140 ---P--B 7 informix - 0 0 0 33445 96
2d86cd68 Y--P--D 13 informix - c08f174 0 0 0 0
2d86d37c ---P--D 10 informix - 0 0 0 0 0
75 active, 128 total, 111 maximum concurrent
это все сервисные сессии информикса

http://www.sql.ru/faq/faq_topic.aspx?fid=598

---P--F CLEANERS 64
они активны

целиком не судьба положить?
...
Рейтинг: 0 / 0
05.02.2008, 18:23
    #35111821
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozкак вообще можно отследить пользователей которые просто подключились и ничего не делают зато отъедают память?Зачем?
Вы отдали на пользователей SHMVIRTSIZE 750000кб из них используется только 27 мб
...
Рейтинг: 0 / 0
05.02.2008, 18:27
    #35111831
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
одинаковые строчки удалила...
вот и непонятно откуда 75 активных если соединений всего 5?
...
Рейтинг: 0 / 0
05.02.2008, 18:29
    #35111837
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Это на резервном 27 используется. Настройки как на рабочем. И на рабочем за полдня работы съедается 2.2 Гб памяти и приходится перезагружать. и юзеров там 299 работает...
...
Рейтинг: 0 / 0
05.02.2008, 18:31
    #35111844
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozодинаковые строчки удалила...
вот и непонятно откуда 75 активных если соединений всего 5?75 -- это служебные процессы информикса

---P--F 0 informix
64 клинерса (CLEANERS 64 )

---P--D 1 informix
D a daemon thread (Special daemon process)


---P--B 7 informix -
B btree cleaner thread (Special btree cleaner thread)
...
Рейтинг: 0 / 0
05.02.2008, 18:32
    #35111850
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozЭто на резервном 27 используется. Настройки как на рабочем. И на рабочем за полдня работы съедается 2.2 Гб памяти и приходится перезагружать. и юзеров там 299 работает...тьфу ты, все аллес, в эту тему я больше не ездюк
...
Рейтинг: 0 / 0
05.02.2008, 18:34
    #35111854
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
спасибо и извините что отвлекла!
...
Рейтинг: 0 / 0
06.02.2008, 11:29
    #35113011
Алексан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Журавлев Денис frozЭто на резервном 27 используется. Настройки как на рабочем. И на рабочем за полдня работы съедается 2.2 Гб памяти и приходится перезагружать. и юзеров там 299 работает...тьфу ты, все аллес, в эту тему я больше не ездюкДенис, давай в лекторы! - коротенечко, за пару часов, о том, как устроена Shared Memory и как её настроить... :-))
...
Рейтинг: 0 / 0
07.02.2008, 12:20
    #35116490
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozПользователей активных 75.Всего 128. Откуда берется общее кол-во пользователей?
Почему 128 ?
Не обращайте внимания на эту цифру.
Насколько я помню, сервер выделяет ресурсы блоками по 128 условных сессий, при превышении реальными сессиями этого кол-ва будет просто добавлен еще один блок и вы увидите 256 и т.д.
...
Рейтинг: 0 / 0
07.02.2008, 15:04
    #35117193
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Еще раз большое спасибо за ответы.
Подскажите пожалуйста еще почему при таких вот настройках память при добавлении сегментов вручную распределилась по адресам не по порядку.
# Shared Memory Parameters

LOCKS 120000
BUFFERS 130000
NUMAIOVPS
PHYSBUFF 128
LOGBUFF 128
CLEANERS 31
SHMBASE 0xC000000L
SHMVIRTSIZE 750000
SHMADD 154720
SHMTOTAL 2724000
CKPTINTVL 1200
LRUS 127
LRU_MAX_DIRTY 20
LRU_MIN_DIRTY 15
TXTIMEOUT 300
STACKSIZE 64

onstat -g seg

Всего сегментов
Общий размер (байтов): 2762276864

Использовано блоков: 468445
Свободно блоков: 205939


Сегменты
ID Ключ Адрес Размер Избыток Класс Использовано блоков Свободно блоков
1381386245 1381386245 2d10000 102432768 3768 V 25008 0
1381386241 1381386241 c000000 560594944 232448 R* 136838 26
1381386242 1381386242 2d6a0000 768016384 24080 V 183862 3642
1381386247 1381386247 5b310000 307232768 10016 V 62556 12452
1381386246 1381386246 7fff0000 1024000000 31896 V 60181 189819
...
Рейтинг: 0 / 0
07.02.2008, 16:08
    #35117421
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozЕще раз большое спасибо за ответы.
Подскажите пожалуйста еще почему при таких вот настройках память при добавлении сегментов вручную распределилась по адресам не по порядку.
А как должно быть "по порядку" по вашему мнению ?
И зачем вам это ? Просто из любопытства (по типу "почему солнце встает на востоке и садится на западе?") или хотите исправить какую-то ошибку ?
Для продолжения разговора (после ваших ответов) настоятельно рекомендую изучить следующую информацию, которая может оказаться вам очень полезной в этом аспекте:
http://www.sql.ru/faq/faq_topic.aspx?fid=982

frozCLEANERS 31
Покажите реальный вывод onstat -u на вашей рабочей системе (а не тестовой) после нескольких часов типичной работы. Я почти уверен, что 31 для вас слишком много и просто тратятся лишние ресурсы.
frozSHMADD 154720
А зачем так много ? Это "страховочный" вариант на случай непредвиденных обстоятельств (превышения стандартных потребностей в ОП для вашей системы) и если у вас часто срабатывает добавление сегментов по SHMADD, то значит нужно увеличивать SHMVIRTSIZE (хотя я снова сомневаюсь, что вам не хватает 750М для работы).
Если со временем у вас все больше памяти остается занятой (не понятно чем) и вас
это волнует, то это старая болезнь Информикса на виндовой платформе (memory leack) и лечится регулярным использованием onmode -F и перезагрузками всего сервера (хотя бы раз в месяц).
frozSHMTOTAL 2724000
Рекомендую не использовать этот параметр на платформе Windows (установить в 0)
froz
Сегменты
ID Ключ Адрес Размер Избыток Класс Использовано блоков Свободно блоков
1381386245 1381386245 2d10000 102432768 3768 V 25008 0
1381386241 1381386241 c000000 560594944 232448 R* 136838 26
1381386242 1381386242 2d6a0000 768016384 24080 V 183862 3642
1381386247 1381386247 5b310000 307232768 10016 V 62556 12452
1381386246 1381386246 7fff0000 1024000000 31896 V 60181 189819
Используйте теги SRC или FIX для форматирования таких выводов - будет значительно легче читать
...
Рейтинг: 0 / 0
07.02.2008, 16:15
    #35117446
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozЕще раз большое спасибо за ответы.
Подскажите пожалуйста еще почему при таких вот настройках память при добавлении сегментов вручную распределилась по адресам не по порядку.
какой милый бред.
Если вы считаете что память уходит из-за пользователей, вам не приходила мысль посмотреть сколько памяти уходит на каждую сессию, взять сессию с максимумом и посмотреть куда конкретно ушла память в этой сесии?
...
Рейтинг: 0 / 0
07.02.2008, 16:46
    #35117590
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
приходила. это рабочий сервер. хочу знать не из любопытства а по необходимости. потому что сервер исчерпывает всю память и его надо перегружать время от времени. проблема связанная с \3gb имеется в наличии а переходить на 64 разрядный вин никто не будет.
вот onstat -u и onstat -g ses
...
Рейтинг: 0 / 0
07.02.2008, 17:05
    #35117661
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
cat onstat_g.log |sort -k7nr|head
588      iljubich COPPU-AB 3628     coppu-ab 1        18370560   16350880   off 
591      oymachyk COPPU-AB 3188     coppu-ab 1        17530880   16047240   off 
594      lskripal COPPU-AB 3412     coppu-ab 1        17252352   16186744   off 
568      nzaikina COPPU-AB 3028     coppu-ab 1        16801792   14970656   off 
351      malish   GOS50-3  4076     coppu-rg 1        15069184   13865824   off 
499      isakirow COPPU-RG 3996     coppu-rg 1        14737408   13601336   off 
85       sopcova  COPPU-RG 2520     coppu-rg 1        14708736   13251920   off 
121      ikopeika COPPU-RG 2532     coppu-rg 1        14598144   13395384   off 
369      grabar   COPPU-AB 3420     coppu-ab 1        14393344   13521056   off 
15       isakirow COPPU-RG 3468     coppu-rg 1        14110720   12649896   off 

onstat -g ses 588
onstat -g ses 591
onstat -g ses 594

18мег это неприлично, прилично 400кб
...
Рейтинг: 0 / 0
07.02.2008, 17:42
    #35117799
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Журавлев Денис
Код: plaintext
1.
2.
3.
cat onstat_g.log |sort -k7nr|head
588      iljubich COPPU-AB 3628     coppu-ab 1        18370560   16350880   off 
591      oymachyk COPPU-AB 3188     coppu-ab 1        17530880   16047240   off 
18мег это неприлично, прилично 400кб
Мда, често признаюсь, что очень давно не видел таких жирных запросов.
Что же там такое можно делать ? Держать открытыми многочисленные курсоры ?
И на чем написаны клиенты ?
Видно я таки разбалован серверами приложений, которые кешируют выборки у себя, а у информикса при любых обстоятельствах не требуют более 2М на сессию.
...
Рейтинг: 0 / 0
07.02.2008, 17:56
    #35117856
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Других запросов нет, база огромная, разработчик тоже врядли будет что-либо менять в своих программах, так что остается поддерживать работоспособность сервера какими угодно способами. Просто хотелось разобраться в распределении адресов сегментов в памяти. И спасибо за статью!
...
Рейтинг: 0 / 0
07.02.2008, 18:01
    #35117880
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozприходила.
Если мысль приходила, так почему же сразу не представили информацию об этих жирных запросах ? Или сами не попробовали разобраться, на что память расходуется ?
frozэто рабочий сервер. хочу знать не из любопытства а по необходимости. потому что сервер исчерпывает всю память и его надо перегружать время от времени.
На эту тему я вам уже наперед написал. К тому же криво написанное приложение тоже может приводить к проблемам невозврата памяти.
froz проблема связанная с \3gb имеется в наличии
Это какая проблема ? То, что не более 3ГБ можно отдать приложению ? Так это проблема 32-х разрядной архитектуры. Преодолеть ее можно используя PAE, но одновременно еще и ОС должна поддерживать нужный объем памяти. Например, стандартная Win2003 поддерживает максимум 4ГБ, а Win2003 EE - уже 8ГБ.
frozа переходить на 64 разрядный вин никто не будет.
Ну если все и всех устраивает, то чего вам вообще волноваться ?
Но если не устраивает, то надо добиваться изменений.
...
Рейтинг: 0 / 0
07.02.2008, 18:24
    #35117944
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
frozПросто хотелось разобраться в распределении адресов сегментов в памяти.
Именно это никак не поможет вам в решении проблемы нехватки памяти.
И надо было с самого начала описать свою основную проблему - уже давно бы помогли советом или информацией.
Для вашей ситуации я могу предложить вам следующие изменения в onconfig
(кстати, по cleaners беру свои слова обратно - 31 вполне нормально для такой нагрузки).
BUFFERS 300000
PHYSBUFF 128
LOGBUFF 64
SHMVIRTSIZE 1024000
SHMADD 409600
LRU_MAX_DIRTY 20
LRU_MIN_DIRTY 5
STACKSIZE 128
Сначала проверить на тестовом сервере.

Это позволит , как мне кажется, оптимально и максимально выделить память при трех сегментах.
И регулярно (например, раз в 2 часа) использовать onmode -F (можно на живой системе - вреда не принесет).
...
Рейтинг: 0 / 0
07.02.2008, 18:32
    #35117969
froz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки Shared memory
Большое спасибо за ответ! Дальше буду читать литературу.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Настройки Shared memory / 25 сообщений из 28, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]