|
v7: Реально ли распараллелить процессы 1С 7.7? | ☑ | ||
---|---|---|---|---|
0
Karambol
04.03.14
✎
09:25
|
Добрый день! Есть база на семерке, в которой запускается тяжелая обработка. Когда процесс 1С занимает больше 1.5 Гб памяти, происходит вылет с ошибкой "Out of memory". Насколько я знаю, 32х разрядные процессы не могут занимать больше 2Гб оперативной памяти. Подскажите, существует ли способ решения данной проблемы (без перехода на 8 :))?
|
|||
1
Андрюха
04.03.14
✎
09:28
|
Можно для начала оптимизировать "тяжелую обработку"
|
|||
2
ДенисЧ
04.03.14
✎
09:29
|
Переделать тяжёлую обработку - не предлагать?
|
|||
3
Толич
04.03.14
✎
09:30
|
Сделать легкую обработку вместо тяжелой.
|
|||
4
Mikeware
04.03.14
✎
09:32
|
(1)(2)(3) вы на г.р. ТС посмотрите, и вопросы отпадут....
|
|||
5
jsmith82
04.03.14
✎
09:33
|
(4) +1!
|
|||
6
ДенисЧ
04.03.14
✎
09:34
|
(4) Не все 86 одинаково бесполезны. Я знаю как минимум 2х, которые мне (!!!) дадут фору во многом... Причём одна из них - женщина
|
|||
7
jsmith82
04.03.14
✎
09:35
|
(6) я был о тебе более высокого мнения
|
|||
8
ДенисЧ
04.03.14
✎
09:36
|
(7) Ну извини, что разочаровал... Пойду убъю себя...
|
|||
9
jsmith82
04.03.14
✎
09:36
|
(8) стой! не убивай! я пошутил
|
|||
10
Fedor-1971
04.03.14
✎
09:42
|
(0) что делает "тяжелая обработка"? Попробуй вариант разделения на несколько.
Сверни базу, если позволяет религия заказчика. (4) на очень хорошая шутка, можно подумать, что некоторые сразу родились гениями от программирования |
|||
11
jsmith82
04.03.14
✎
09:43
|
(10) конечно
|
|||
12
Андрюха
04.03.14
✎
09:45
|
(10) >> можно подумать, что некоторые сразу родились гениями от программирования
Увы, это так... |
|||
13
Мигало
04.03.14
✎
09:46
|
"Пригласите специалиста" было ?
|
|||
14
dk
04.03.14
✎
10:01
|
(0)
1. чисти неиспользуемые переменные (особливо крупные ТЗ) 2. не тащи на клиента сто тыщ мульонов строк - сворачивай в запросе 3. если работаешь с xml - либо дроби наборы данныз на более мелкие, либо переходи на ole (если КД) |
|||
15
vlandev
04.03.14
✎
10:08
|
(14) Как нетащить на клиента мульоны строк , в семерке все тащится в клиента.
|
|||
16
ДенисЧ
04.03.14
✎
10:09
|
(15) не звезди
|
|||
17
Bigbro
04.03.14
✎
10:11
|
(0) да.
|
|||
18
ikea
04.03.14
✎
10:40
|
(4) При чем тут год рождения, может у человека задача такая, что действительно памяти не хватает. У меня тоже была подобная задача: нужно было автоматически создавать документ и заполнять его, падал на ~6000 строк с такой же проблемой. Пришлось автоматом разбивать на 3 дока, чтобы все влезло.
P.S. Сам тоже 86 года. |
|||
19
ikea
04.03.14
✎
10:41
|
(17) Если не трудно, кинь ссылку куда копать.
|
|||
20
Chum
04.03.14
✎
10:45
|
(18) >падал на ~6000 строк
бггг. Вот когда падает на over 180 тыс строк, тогда нужно задумываться над бренностью бытия. (0) тяжелая обработка тяжело обрабатывает тяжелые данные? Там поди и создание объектов в цикле есть, и переливка ТЗ в ТЗ? |
|||
21
Karambol
04.03.14
✎
11:23
|
Обработка грузит из Excel данные и заполняет ТЗ. Потом их обрабатывает. Все это время ТЗ нужно держать в памяти. Вопрос стоял не в том, как оптимизировать обработку. А в том, есть ли средство от ограничения в 1.5Гб под процесс 1С.
|
|||
22
Mikeware
04.03.14
✎
11:30
|
(18) всегда чего-то не хватает: памяти, времени, денег...
нужно уметь рационально использовать доступные ресурсы... а год рождения.... ну ЧАЭС взорвалась, и у многих этого года рождения возникли дефекты в ДНК. некоторые - с уклоном в гениальность, но бОльшая часть - с уклоном в дебилизм. |
|||
23
Мимохожий Однако
04.03.14
✎
11:33
|
(21)" Все это время ТЗ нужно держать в памяти"
Как вариант - сделай служебный документ для этой обработки и держи информацию в ТЧ. |
|||
24
Мигало
04.03.14
✎
11:36
|
(23) Справочник служебный
|
|||
25
dk
04.03.14
✎
11:37
|
типизация колонок тоже помогает сократить память
|
|||
26
Fedor-1971
04.03.14
✎
11:38
|
(21) перестраивай алгоритм обработки, напиши VBA скрипт для подготовки данных из Exel и просто грузи данные не анализируя.
В (23) то же хороший вариант. |
|||
27
Mikeware
04.03.14
✎
11:39
|
(23)(24) а также dbf-файл, таблица на сервере и т.п.
(25) и это тоже. |
|||
28
Мигало
04.03.14
✎
11:40
|
(26) В 23 совет плохой с ТЧ документа
|
|||
29
vlandev
04.03.14
✎
11:41
|
(21) Средств снять ограничения по памяти на 32-битный процесс нету , разве что попросить фирму 1С специально для тебя скомпилировать 77 в 64 бита.
|
|||
30
Fedor-1971
04.03.14
✎
11:45
|
(28) если строк данных меньше 9999, то подойдёт. Реализация через справочник примерно на том-же уровне проблемности реализации.
|
|||
31
Мигало
04.03.14
✎
11:46
|
(30) Не в строках дело, а в том что при использовании документа лочится 1СЖурнал. Ляжет проведение других документов пока у него этот гипопотам ворочается.
|
|||
32
Bigbro
04.03.14
✎
11:51
|
(21) см 29.
|
|||
33
Mikeware
04.03.14
✎
11:55
|
(31) залочится он только на момент создания нового (ну или запись-проведение). но записывать или проводить этот документ совершенно нет необходимости.
|
|||
34
Мигало
04.03.14
✎
11:59
|
(33) Сожрет память тогда точно так же как таблица
|
|||
35
floody
04.03.14
✎
12:03
|
(0) на самом деле предел памяти не 2, а /3GB
конечно, переписывать обработку в первую очередь, больше чем уверен, что там гкод |
|||
36
КонецЦикла
04.03.14
✎
12:05
|
(21) Собственную таблицу SQL (временную или постоянную) или что-то в это роде не предлагать?
|
|||
37
КонецЦикла
04.03.14
✎
12:07
|
Даже тупо записать все из ексель в таблицу займет ну 5-10 секунд при самом плохом раскладе если читать напрямую и писать.
Потом над этой таблицей издеваться апдейтами. |
|||
38
Bigbro
04.03.14
✎
12:07
|
35 это вроде только для приложений которые умеют AWE. 1с к ним относится думаешь?
|
|||
39
varelchik
04.03.14
✎
12:13
|
(0) а код выложить слабо?
|
|||
40
ADirks
04.03.14
✎
12:19
|
(36) тут на инфостарте недавно обсуждали, как нагнуть сервер путём создания ВТ в N гигов :))
|
|||
41
vova1122
04.03.14
✎
12:25
|
(0) Кстати, а сколько примерно строк и колонок в екселевском файле?
|
|||
42
ikea
04.03.14
✎
12:29
|
(40)
Это же сколько строк и столбцов должно быть чтобы виртуальная таблица в гигах измерялась. Жесть в чистом виде. |
|||
43
DrZombi
гуру
04.03.14
✎
12:32
|
(21) Оптимизируй, слушай Старших. Поверь, нет такого екселевского файла, который бы ложил бы систему :)
При загрузки из екселя, пиши все во временные файлы DBF А после работай уже дальше :) |
|||
44
DGorgoN
04.03.14
✎
12:36
|
(43) +1
|
|||
45
Bigbro
04.03.14
✎
12:37
|
43 да там в итоге окажется что какую нибудь элементарную сортировку / фильтрацию нужно сделать, которую вообще бы стоило выполнить в самом экселе открыв его по ОЛЕ.
|
|||
46
ptiz
04.03.14
✎
12:41
|
У меня в 8ке расчет прайса упирался в размер ОЗУ и не валился на 32х-разрядной системе. (но на х64 - всё хорошо, слава 1С 8 !)
(десятки клиентов, каждому - расчет по тысячам позиций и всё это - в один файл) Потом нашел место для оптимизации и сейчас памяти кушается меньше. Но при увеличении числа позиций в несколько раз снова всё упрется в предел. |
|||
47
sda553
04.03.14
✎
12:41
|
Функционал отчета переделать в Stored процедуру на sql. Результат в свою таблицу укладывать. А семерка пусть этот результат готовыми частями качает
|
|||
48
ptiz
04.03.14
✎
12:41
|
тьфу ты... "упирался в размер ОЗУ и Валился"
|
|||
49
Chum
04.03.14
✎
12:48
|
+(43) файл excel можно и сразу в дбф сохранить, прикрутить файл индексов и работать спокойно.
|
|||
50
ADirks
04.03.14
✎
13:21
|
(42) Это про восьмёрку было, там влёгкую.
Недавно попалась интересная статья Спешурика про составные типы в восьмёрке - вот где жесть так жесть. http://infostart.ru/public/184361/ |
|||
51
Karambol
04.03.14
✎
13:56
|
(41) Около 500 000 строк. Колонок - 20
|
|||
52
Ёпрст
04.03.14
✎
14:56
|
(51) и версия эксела какая ?
:) |
|||
53
Михаил Козлов
04.03.14
✎
15:09
|
(49)+
|
|||
54
Irbis
04.03.14
✎
15:10
|
(6) Исключения только подтверждают правила
|
|||
55
hogik
04.03.14
✎
17:39
|
(0)
4GB - легко. :-) Тема: http://forum.infostart.ru/forum26/topic50264/message550872/#message550872 Сообщения: 12, 14. Проверял на 1cv7.exe. |
|||
56
varelchik
04.03.14
✎
18:01
|
(0) а код мы так и не увидели.
|
|||
57
Z1
04.03.14
✎
18:40
|
(56) а что там смотреть.
зачти 51 ясно но же что надо писать в таблицу sql а может быть даже к ней применить нормализацию и индексы грамотно расставить. |
|||
58
МихаилМ
04.03.14
✎
18:55
|
(57)
создавал тестовую таблицу в 1 000 000 строк и 50 колонок простых типов строка(20) в режиме /3GB скорее всего автор не типизирует колонки |
|||
59
Z1
04.03.14
✎
19:00
|
(58) на таких объемах индексированная ТЗ даже с простыми полями уже значительно хуже чем sql таблица.
ну и ключевое слово в 57 - нормалицация |
|||
60
Mikeware
05.03.14
✎
07:15
|
(58)(59) Ребяты, вы ж предлагаете мозгами поработать... а у ТС их нет...
|
|||
61
VladZ
05.03.14
✎
07:35
|
(0) Код нужно смотреть. Есть большая вероятность, что можно решить проблему оптимизируя код. Либо оптимизируя алгоритм работы. Что опять же ведет к изменению кода.
|
|||
62
DrZombi
гуру
05.03.14
✎
07:57
|
(51) Ты лучше поведай, что ты через ексель перегоняешь?
Для информационного баланса это исчерпывающая информация :) |
|||
63
varelchik
05.03.14
✎
09:39
|
(62)ВО!
Чел дело говорит! И вообще что это за такой екселевский файл что аж на 500 000 строк? Да и какой придурок мог его навоять. Явно опять таки из какой-то базы. |
|||
64
varelchik
05.03.14
✎
09:41
|
Не проще ли прямо из 1С в то место вломится и взять что надо?
|
|||
65
FenderDMB
17.03.14
✎
07:10
|
(55)Доброго времени суток. Извините что пишу Вам в этой теме. Хотелось бы узнать Ваше мнение. Моя конфигурация 1С 7.7 Бухгалтерский учет. Столкнулся с проблемой больших файлов DBF, а именно файл 1SBKTTL равен по размеру 1.09 Гб. Собираюсь использовать Kernel3x, но у меня возник вопрос, при таком большом файле 1SBKTTL, файл 1SENTRY.DBF весит всего 400 Мб. читал на форумах, что такое не нормально, вот мне и интересно, а можно ли уменьшить 1SBKTTL? и в чем может быть причина что он стал таким емиким? Буду признателен за ответ.
|
|||
66
Salimbek
17.03.14
✎
09:02
|
(51) Если вопрос из (0) еще актуален, то я бы порекомендовал работать через 1sqlite. Создаешь свою базочку, туда льешь данные из Экселя, индексируешь и потом крутишь, как тебе вздумается.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |