|
"Недостаточно памяти" при формировании Главной книги. | ☑ | ||
---|---|---|---|---|
0
К_Михаил
08.06.12
✎
14:13
|
Здравствуйте.
Сервер 1С - v8.2.14.540 [x86-64] Платформа - 1С Предприятие v8.2.14.540 Конфигурация - БГУ v1.0.10.2 БД - MS SQL Server 2008 R2 [x64] ОС сервера - Windows 2008 Server R2 Enterprise [x64] ОЗУ сервера - 48 ГБ Такая проблема: не могу сформировать отчет "Главная книга". Платформа долго формирует, затем выдает сообщение "Недостаточно оперативной памяти". Есть у кого соображения, в какую сторону рыть? |
|||
1
DrShad
08.06.12
✎
14:14
|
план счетов меняли?
|
|||
2
К_Михаил
08.06.12
✎
14:16
|
(1) Добавляли свои специфичные счета и субконто к некоторым стандартным.
|
|||
3
ansh15
08.06.12
✎
14:27
|
Памяти недостаточно на сервере, или на клиентском рабочем месте? На сервере, вроде, не должно.
|
|||
4
DrShad
08.06.12
✎
14:30
|
(2) ну вот туда и копать
|
|||
5
К_Михаил
08.06.12
✎
14:31
|
(3) И на сервере и на клиенте не хватает. Клиенты под терминалом.
Пробовал всех выгонять, перезагружать сервер, делать заново. Все равно, занятая память достигает ~12 ГБ и выдается сообщение. |
|||
6
К_Михаил
08.06.12
✎
14:33
|
(4) Каким образом?
|
|||
7
DrShad
08.06.12
✎
14:34
|
какие субконто добавили? кто добавил и зачем? у тя скорее всего столько таблиц в результат запроса выбрано, что скуль дохнет
|
|||
8
К_Михаил
08.06.12
✎
14:36
|
Кстати, книгу формирую за месяц. При формировании 1-29 числа всё формируется (16 ГБ ОЗУ). При формировании 1-30 числа - не хватает памяти (при занятой 12 ГБ)
|
|||
9
ansh15
08.06.12
✎
14:37
|
(5) В диспетчере задач посмотри, какие процессы конкретно отбирают память.
|
|||
10
К_Михаил
08.06.12
✎
14:38
|
(9) Больше всех 1cv8.exe - 3 ГБ.
|
|||
11
DrShad
08.06.12
✎
14:54
|
(9) помогло?
|
|||
12
К_Михаил
08.06.12
✎
14:57
|
SQL-серверу выделено 30 ГБ памяти. Ему должно хватать. Видимо, в платформе дело. Пытаюсь, мониторю...
|
|||
13
Ayvengo
08.06.12
✎
14:58
|
(12) ребутни сервер :)
|
|||
14
К_Михаил
08.06.12
✎
14:59
|
(13) уже много раз
|
|||
15
DrShad
08.06.12
✎
15:01
|
(14) в 30-х числах не игрались ручными операциями? другие отчеты формируются?
|
|||
16
dmpl
08.06.12
✎
15:13
|
(10) Ну все, 1С уперлась в ограничение 32-битного режима.
|
|||
17
Ayvengo
08.06.12
✎
15:15
|
(14) и тестировал, наверное, тоже?:)
|
|||
18
ansh15
08.06.12
✎
15:44
|
(11) Мне? Иногда помогает, по крайней мере, видно, что виснет, или postgresql(в моем случае) гребет под себя из-за плохого плана запроса, или rphost тупо и нудно что-то выполняет.
Товарищу про (7) и (15) пока не очень хочется думать, поэтому до упора будут ковыряться платформа или SQL. Хотя то, что ты спрашиваешь, наиболее вероятно( именно у бюджетных бухгалтеров). |
|||
19
К_Михаил
08.06.12
✎
16:31
|
Погонял счетчики производительности.. печально.
Сначала долго работает SQL, периодически прерываясь rphost'ом. Затем sqlservr утихает, rphost набирает 6 ГБ оперативки. Затем 1cv8 набирает ОЗУ > 3,9 ГБ и выдаёт оошибку :( Похоже, дело действительно в 32-bit клиенте. Нет решения? |
|||
20
ansh15
08.06.12
✎
17:13
|
(19)Написать письмо в 1С, чтобы выпустили 64-bit клиента. Может в 8.3 будет, хотя бы под linux...
А если формировать за предыдущие месяцы или с 1 по 29, то 1с8 в верхнюю планку не упирается, скорее всего. Оставь платформу в покое, прислушайся к DrShad. |
|||
21
К_Михаил
08.06.12
✎
17:40
|
DrShad, ручных операций у нас всегда много, к сожалению. Сказывается недопиленность конфига под организацию/удаленность от города/пофигизм.
Остальные отчеты формируются. |
|||
22
Ayvengo
08.06.12
✎
18:01
|
ТС, а сколько всего максимум субконто у тебя?:)
|
|||
23
Ayvengo
08.06.12
✎
18:02
|
(22)- более понятно, максимальное количетво субконто сколько?
|
|||
24
Ayvengo
08.06.12
✎
18:13
|
не больше 5 случайно?
|
|||
25
dmpl
08.06.12
✎
21:25
|
(19) Если вылезло только сейчас - возможно, где-то происходит зацикливание. Посмотри за предыдущие периоды сколько памяти уходит. Если намного меньше - это оно. Надо найти кривизну в данных и исправить.
|
|||
26
К_Михаил
09.06.12
✎
04:13
|
(23) максимальное количество субконто - 4
(25) Если бы знать, как... что понимается под "кривизной"? По какиим признакам можно вычислить "кривые" данные? |
|||
27
К_Михаил
09.06.12
✎
05:01
|
(25) Сформировал за предыдущий месяц - получилось. Видимо, проблема как раз в нужном мне месяце.
|
|||
28
ЧеловекДуши
09.06.12
✎
05:19
|
Интересно, а кто нибудь рассматривает вариант оптимизации запроса по главной книге? :)
|
|||
29
К_Михаил
09.06.12
✎
05:32
|
(28) Здравая мысль, имеющая смысл при соответствующих навыках.
|
|||
30
К_Михаил
09.06.12
✎
05:43
|
Скриншот с проблемным участком кода. Думаю, вам это даст больше информации, чем мне.
http://impic.ru/uploads/2012/0906/2280403_97872634.jpg |
|||
31
vis_tmp
09.06.12
✎
05:46
|
Добавленные субконто определённого типа?
|
|||
32
К_Михаил
09.06.12
✎
05:57
|
(31) Нет. Где-то добавлены "Контрагенты", где-то "Направление деятельности"
|
|||
33
К_Михаил
09.06.12
✎
05:59
|
(31) К некоторым счетам добавлено даже по 2 субконто. Вот, еще заметил "Номенклатура" как доп. субконто.
|
|||
34
dmpl
09.06.12
✎
08:11
|
(27) А по памяти сколько заняла при формировании? Если много меньше предела - надо искать кривые данные. Для начала можно попробовать замером производительности вычислить, где крутится код во время роста памяти - и дальше там уже смотреть, нет ли чего необычного в данных. Найти эти кривые данные может быть непросто, т.к. кривизна может быть неявной, а в сочетании с другими данными.
(30) Попробуй заменить
на
и посмотри, что будет сформировано по первым 15 тыс. итераций. Возможно, зациклившиеся данные вылезут. |
|||
35
Coldboy
09.06.12
✎
09:53
|
(0) смотр пост (34) ОН правильно говорит, тока я делал так я выводил кусками, брал общее количество кусов делил на 1\4 от общего количества памяти, и выводил эти куски отщепляя от итераций. Наглядно выглядит так.
У меня массив был 34 000, его нужно было обработать, и почему то вылетало "Недостаточно памяти", все сразу не срабатывало. Памяти 4 000 МБ, 1\4=1000, и брал от массива куски по 1 000 , и пока количество начального массива 0 не будет, то обрабатывать это все. |
|||
36
serg_sh75
09.06.12
✎
11:02
|
(0) Сделай ТиИ базы это раз, пересчет итогов это два (только про бэкап не забудь)
|
|||
37
serg_sh75
09.06.12
✎
11:04
|
(0) уверен на 99% что если эту базу выгрузить в файловую - отчет сформируется. Так что смотри в сторону ошибок БД
|
|||
38
К_Михаил
09.06.12
✎
11:16
|
(34) Мде. Даже 15000 оказалось много. Вываливается. Пробую меньше.
|
|||
39
Coldboy
09.06.12
✎
11:43
|
(38) я же написал что 15 000 много сделай поменьше как я описал.
|
|||
40
К_Михаил
13.06.12
✎
12:38
|
(37) ТиИ не поможет, пробовал. В файловом режиме не формируется. Та же нехватка памяти.
(39) Делал даже А < 5, и даже в файловой базе, всё равно - медленное переполнение и нехватка памяти. А как запустить замер производительности 1С, чтобы можно было контролировать временную шкалу? Чтобы выяснить, в какой момент времени начинается рост памяти? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |