|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
Здравствуйте, возник какой-то странный вопрос по установке SHMTOTAL. Раньше стояла настройка 0, но когда сервер стал залазить за объемы памяти, которые может ему дать операционка - я решил прикрыть это дело при помощи SHMTOTAL. На сервере 8 гиг памяти. Настройки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
В общем при старте сервер сразу аллокирует чуть больше 4 гиг памяти. решил я его ограничить 6 гигами. НО! Выяснилось, что любое значение начиная с 4 гигабайт и больше выдает ошибку Код: plaintext
При указании значения SHMTOTAL меньше 4 гиг эта ругань не появлсяется, зато появляется Код: plaintext 1.
Так вот собственно вопрос - это что получается, больше 4 гиг сервер использовать не может, потому что это exceeds operating system limits, но при этом если лимиты серверу не указывать, то сервер прекрасно использует памяти больше 4 гиг и ос ему не помеха? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
В общем, поясните мне, в каких трех соснах я заблудился, а то как-то нелогично получается с этим SHMTOTAL. Заранее спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2010, 18:19 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
falcon111, Какая в точности версия Windows 2003 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2010, 12:42 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
vasilisКакая в точности версия Windows 2003 ? Данные winver: Windows Server 2003 Enterprise x64 edition Русская. Версия 5.2 (сборка 3790.srv03_sp2_gdr.090805-1438:service pack 2) Доступная физическая память 8387264 Кб ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2010, 16:49 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
falcon111З Тут про SHMTOTAL тоже нигде ничего не упоминается С этим параметром на Винде уже давно были странности. Помню, что в какой то из старых версий (7.3 или 9.3) при его установке и достижении сервером "потолка" начинались веселые траблы с постоянно выскакивавшей ошибкой. Был какой то фикс на эту тему....Также в различных, редких тогда, материалах относительно информикс на Винде, этот параметр старательно обходился вниманием. Короче, с того времени я всегда избегал его установки и не рекомендовал его использовать. Связано это с довольно запутанной архитектурой и использованием памяти в 32-разр. архитектуре винды, чему есть масса примеров. Здесь я проводил некоторые исследования . Думал. что в 64-разр. арх. эти проблемы ушли, но, похоже, что нет. Вроде осталась некая проблема с первым 2-Гб лимитом, через который нельзя сделать тот же большой буферный пул единым (он делится на части). Попробуйте посмотреть Administering Informix Dynamic Server on Microsoft Windows в части памяти - может на какие-то мысли навеет. Но я бы зашел с другой стороны - почему все таки память так сильно растет ? Может надо копнуть в сторону приложений и memory lack ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2010, 20:16 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
vasilisНо я бы зашел с другой стороны - почему все таки память так сильно растет ? Может надо копнуть в сторону приложений и memory lack ? В этом направлении работы тоже ведутся :) Один и тот же С-шный код (в части взаимодействия с sql-базой), но выполняющий разные процедуры, работает с разными результатами. Два бинарника аллокируют по 200К-300К на сессию и дальше объем памяти на их сессиях не растет. А вот еще два... В худшем случае за одно выполнение процедуры на сервере на сессии увеличивается объем потребляемой памяти на порядка 100К. Похоже на утечки в самом сервере. Я уже процедуру и так и сяк переписывал, выкинул часть спорного кода, но все равно память расходуется. Ладно, гулять так гулять :) , вот пример худшего сценария. Смысл процедуры - выбирает из таблицы часть записей во временную таблицу и по выбранным полям меняет в изначальной таблице несколько полей. Возвращает приложению число подготовленных записей. Было: Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80.
Жрало по 100К за один запуск. Стал искать. Сперва убрал создание индекса и апдейт статистики перед отдачей таблицы приложению. Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74.
Жрать стало сразу на порядок меньше, но точно сейчас не скажу сколько и при каждом запуске или нет. Дальше стал искать наугад. Пределал создание временной таблицы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Не помогло. Избавился от foreach-а, получил такой вариант: Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71.
В таком варианте - холостые запуски процедуры - когда из LOData ничего не выбирается и не апдейтится, память не жрет. Но если там хоть одна запись выбирается - сессия "дожирает" 4К памяти. Клиентских сессий много, таких приложений - тоже. Память поедается аж бегом :( memory leak в самом сервере? И что делать с этим дальше? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 01:29 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
А на сколько времени в среднем хватает выделенного сегмента SHMVIRTSIZE=3670016 после заполнения которого сервер начинает добавлять по SHMADD=131072 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2010, 20:15 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
vasilisА на сколько времени в среднем хватает выделенного сегмента SHMVIRTSIZE=3670016 после заполнения которого сервер начинает добавлять по SHMADD=131072 ? Было - порядка 3-4 дней. через пару недель в системе просто заканчивалась виртуальная память. Сейчас после перетруски основных утечек, пока третий день, новых сегментов пока нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2010, 01:17 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
В данном конкретном случае, утечка остановилась после изменения последнего варианта процедуры на вот такой (добавил индекс) : Код: 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65.
Один источник утечек устранил, еще ...дцать раз и, может, все будет нормально, но, как говорится, осадок остался :( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2010, 18:51 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
falcon111Выходит, утечка была при сортировке при выборке результата клиентским приложением (оно выбирает select from t_t_ch order by moduleid,lid) или в чем-то связанным с этим. Интересно, а параметр DS_NONPDQ_QUERY_MEM у вас в какое значение установлен ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2010, 20:11 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
vasilisИнтересно, а параметр DS_NONPDQ_QUERY_MEM у вас в какое значение установлен ? 128 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2010, 00:42 |
|
shmtotal на 11.50FC6 на win2003х64
|
|||
---|---|---|---|
#18+
falcon111vasilisИнтересно, а параметр DS_NONPDQ_QUERY_MEM у вас в какое значение установлен ? 128 Странно, почему не использовать возможность эффективной сортировки в памяти ? Посмотрите описание параметра Рекомендую установить в значение от 5000 до 10000 (только предварительно установите правильно DS_TOTAL_MEMORY). Может поможет и устранить утечки памяти :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2010, 11:43 |
|
|
start [/forum/topic.php?fid=44&fpage=24&tid=1607602]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
others: | 21ms |
total: | 182ms |
0 / 0 |