powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
25 сообщений из 45, страница 1 из 2
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860397
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня!

Подскажите, п-та, как можно лечить такое поведение сервера:
клиентские приложения, которые работают через Shared Mem с БД Informix примерно в 50% случаев не могут подсоединится к бд:

Код: plaintext
1.
2.
4GL run-time error number -25588.
The appl process cannot connect to the database server

ОС - RedHat 2.6.18-92.el5
Информикс - 11.50UC3
На сервере установлено 512 МБ ОП. Ядро работает с разделяемой памятью след. оброазом
Код: plaintext
1.
2.
3.
kernel.shmmni = 4096
kernel.shmall = 536870912
kernel.shmmax = 4294967295
Вот кусок конфига про разделяемую память:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
RESIDENT        0               
SHMBASE         0x44000000        
SHMVIRTSIZE     32768           
SHMADD          4096
EXTSHMADD       4096
SHMTOTAL        0               
SHMVIRT_ALLOCSEG 0.000000        
SHMNOACCESS                     

Не могу понять в чем причина... В логе Информикса ничего нет по этому поводу.
Ошибка то есть, то ее нет(

Спасибо всем заранее!
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860460
Ikir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что прописано в конфиге в строке
NETTYPE ipcshm.... ?
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860463
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте через tcp.

С уважением,
Виктор
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860524
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ikir,

Текущее значение
Код: plaintext
NETTYPE         ipcshm,1,200,CPU

Было по умолчанию
Код: plaintext
NETTYPE         ipcshm,1,50,CPU

Может "поиграть" значениями?
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860529
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
victor16,

Спасибо за совет, но, к сожалению, такой возможности нет...
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860599
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел. СIkir,

Текущее значение
Код: plaintext
NETTYPE         ipcshm,1,200,CPU

Было по умолчанию
Код: plaintext
NETTYPE         ipcshm,1,50,CPU

Может "поиграть" значениями?

Поиграйте значениями


ipcs -l
------ Semaphore Limits --------
max number of arrays = ХХХХ // SEMMNI
max semaphores per array = ХХХ // SEMMSL
max semaphores system wide = ХХХХХХ // SEMMNS
max ops per semop call = 32 // SEMOPM
semaphore max value = 32767



насколько я помню для каждого соединения через разделяемую память
дополнительно нужен один семафор в ОС.
Если их не будет хватать, то соединиться с базой сессия не сможет.
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860640
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
onstat-,

Спасибо, буду играться с параметрами ядра.

Заметил интересную вещь:
на работающей системе onstat -u выдает в конце:
Код: plaintext
40 active, 128 total, 60 maximum concurrent

А на моей, ошибки начинают чаще появляться при
Код: plaintext
23 active, 128 total, 24 maximum concurrent

И что-то мне подсказывает, что это может играть роль)

Не могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860704
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел. С
Код: plaintext
23 active, 128 total, 24 maximum concurrent

23 активные сессии СЕЙЧАС, 128 может быть активным без каких либо доптелодвижений со стороны сервера и админа, с момента старта максимум АКТИВНЫХ сессий (в один момент времени) был 24
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860707
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел. С
Не могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??
клиентов поназапускай, не закрывай - и вуаля. считается исходя из соединений :)
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860720
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АнатоЛой клиентов поназапускай, не закрывай - и вуаля. считается исходя из соединений :)

Понял, спасибо.

Просто заметил, что пока моих приложений запущено меньше 5 штук - вероятность получить ошибку (-25588 cannot connect to the database) около 75%.
А как только я запускаю 5-6 приложений - все 100% (т.е. вообще больше не запускается ничего).

Явно кончаются какие-то ресурсы сервера. Но какие - это вопрос.
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860742
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел. Сvictor16,

Спасибо за совет, но, к сожалению, такой возможности нет...
Разве проблема подсоединиться по tcp через localhost?
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860758
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел. С

Не могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??

А погуглить ?

Вот на ucdi ответ на подобный вопрос, похож на правду( на то что я когда то давно, в доке читал).
Думаю, что и ссылку на доку где точно описано нагуглить можно.
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860761
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В момент отказа соединения приведите:
1) версию 4GL
2) onstat -g seg
3) free
4) ipcs
5) cat /proc/meminfo
Скорее всего, памяти маловато.

С уважением
Виктор
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860776
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел. СНе могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??
Справочник администратора
В последней строке вывода команды onstat -u показано максимальное число параллельных пользовательских потоков, которое когда-либо было выделено с момента инициализации сервера баз данных. Например, ниже приводится пример последней строки вывода команды onstat -u :

Код: plaintext
4 активных, 128 всего, 17 максимальное число параллельных

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

C уважением
Виктор
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35860777
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел. С[

Просто заметил, что пока моих приложений запущено меньше 5 штук - вероятность получить ошибку (-25588 cannot connect to the database) около 75%.
А как только я запускаю 5-6 приложений - все 100% (т.е. вообще больше не запускается ничего).

Явно кончаются какие-то ресурсы сервера. Но какие - это вопрос.

Насколько я понимаю, если проблема таки проявляется при достижении какого-то порогового
значения количества сессий + приложения запускаются локально,
скорее всего трабла таки действительно в ресурсах.
Найти сервер с 512 метрами эт еще поискать нужно :)

В принципе-то описание ошибки говорит обо всем:

The shared memory communication subsystem is down or not functioning.
Contact the database server administrator to report the problem.

Мы перешли на использование TCP - все работает ОК. Не бойтесь TCP.
Правда мы переходили на использование TCP не по причине аналогичной вашей.

На линуксах, все работало с настройками ядра умолчанию, добавляли токо
kernel.sem = 250 32000 32 128 (что-то вроде как по умолчанию было меньше чем нужно)
в /etc/sysctl.conf

но на 512 М запускать даже не пробовали, да и Линукс 32бит со своей организацией памяти - не лучшее решение как по мне.
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861228
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 All

Всем спасибо за советы. Но решить проблему так и не удалось ((

Вариант с TCP я еще не пробовал, т.к. не знаю, как написаны клиентские приложения, и будут ли они вообще работать. Кроме этого, для меня очень критична скорость OLTP, а как на это повлияет переход с Shared Mem на ТСР я пока не знаю.

Добавил памяти в сервер, стало 2Гб. Ситуация вообще никак не изменилась.
Ниже привожу отладочную информацию на тот момент, когда клиентские приложения вообще не могут подключится к БД.

Итак, поехали:
onstat -g seg


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
IBM Informix Dynamic Server Version 11.50.UC3TL -- On-Line -- Up 00:06:10 -- 807324 Kbytes

Segment Summary:
id         key        addr     size       ovhd     class blkused  blkfree
65537      52564801   44000000 555053056  3475452  R     135508   3
98306      52564802   65157000 268435456  1574024  V     5149     60387
131075     52564803   75157000 1605632    10400    M     392      0
163844     52564804   752df000 1605632    10400    M     390      2
Total:     -          -        826699776  -        -     141439   60392

   (* segment locked in memory)
free
Код: plaintext
1.
2.
3.
             total       used       free     shared    buffers     cached
Mem:       2075652     442052    1633600          0      26460     351556
-/+ buffers/cache:      64036    2011616
Swap:       786424          0     786424


ipcs -l
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 2147483648
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 1280
max semaphores per array = 500
max semaphores system wide = 320000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 2048
max size of message (bytes) = 262144
default max size of queue (bytes) = 262144

ipcs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x00000000 32768      gdm       600        393216     2          dest
0x52564801 65537      root      660        555053056  11
0x52564802 98306      root      660        268435456  11
0x52564803 131075     root      666        1605632    12
0x52564804 163844     root      666        1605632    12

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root      660        10
0x00000000 32769      root      666        100
0x00000000 65538      root      666        52
0x00000000 98307      root      666        100
0x00000000 131076     root      666        52
0x00000000 163845     root      660        1

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages


cat /proc/meminfo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
MemTotal:      2075652 kB
MemFree:       1633476 kB
Buffers:         26532 kB
Cached:         351556 kB
SwapCached:          0 kB
Active:          79936 kB
Inactive:       339340 kB
HighTotal:     1179584 kB
HighFree:       779368 kB
LowTotal:       896068 kB
LowFree:        854108 kB
SwapTotal:      786424 kB
SwapFree:       786424 kB
Dirty:              20 kB
Writeback:           0 kB
AnonPages:       41208 kB
Mapped:          86120 kB
Slab:            12748 kB
PageTables:       2600 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1824248 kB
Committed_AS:   963496 kB
VmallocTotal:   114680 kB
VmallocUsed:      4836 kB
VmallocChunk:   109528 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     4096 kB

Куда дальше копать - пока не знаю (
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861286
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сразу после ошибки от рута
dmesg|tail и сюда запостите
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861411
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Денис,

результат dmesg|tail :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8
Bluetooth: HIDP (Human Interface Emulation) ver 1.1
mtrr: your processor doesn't support write-combining

После повторения ошибки ничего нового не добавляется в лог.
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861439
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел. С
IBM Informix Dynamic Server Version 11.50.UC3TL -- On-Line -- Up 00:06:10 -- 807324 Kbytes

807324 Kbytes ?? А памяти 512? это как?
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861468
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Денис,

Памяти уже 2 Гб. Сегодня ночью установил. Как уже писал, ничего не изменилось.

Вся отладочная информация, которую я привел, касается новой конфигурации (2Гб).
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861485
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
free показывает 2 гига.
Что делать:
1) Однозначно увеличить SHMVIRTSIZE, SHMADD, EXTSHMADD
2) Ограничить SHMTOTAL
3) Перейти на TCP через localhost
- добавить новый алиас в DBSERVERALIASES
- прописать алиас в sqlhosts
- указать клиентам новый алиас
4) Если TCP все-таки невозможно (правда, непонятно почему)
поиграться SHMBASE
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861499
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В предыдущем посте неправильно
вместо SHMBASE читать INFORMIXSHMBASE

С уважением,
Виктор
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861543
Павел. С
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
victor16,
Спасибо, буду пробовать.



Правильно у Вас в предыдущем посте. У меня в конфиге этот параметр называется SHMBASE
Текущее значение 0x44000000
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861591
Фотография sysmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий пожарный выложите onconfig, sqlhosts, и online.log сервера.
...
Рейтинг: 0 / 0
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
    #35861599
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, это разные параметры
SHMBASE - параметр конфигурации, задает базовый адрес, указывающий, где совместная память подключается к пространству памяти виртуального процессора. Его менять не рекомендуется, значение можно посмотреть в release для IDS.
INFORMIXSHMBAE - переменная среды, задает адрес, который следует использовать для подключения к сегментам совместной памяти сервера, выделенной для связи. Если она не задана, адрес будет зависить от платформы, посмотреть можно тоже в release для 4GL. В Вашем случае она не задана, поэтому скорее всего, при запуске большого количества приложений, соединяющихся через shm, этот адрес становится занятым, и дальнейшие соединения становятся невозможными.
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / Informix [игнор отключен] [закрыт для гостей] / Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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