Имя: Пароль:
1C
1C 7.7
v7 Тестирование и исправление ИБ. Проверка логической целостности.
0 rainman
 
14.10.15
11:08
Имеется база данных.
В ней необходимо сделать проверку логической целостности.
На моей машине: WIN 7, i5-3570К 3.4, 16 Гб оперативки и SSD. В процессе выполнения через 4.5 часа тестирование прерывается с причиной "Недостаточно свободной оперативной памяти". При этом в процессах "съедено" около 400 Мб.
На сервере: WIN Server 2008 R2 (собственно откуда и взят архив базы),
Xeon-E5645 2,4, 16 Гб оперативки и обычный HDD на 2 Гб. Процесс длится 17 часов (да база большая), но проходит!
На моей машине прерывается на моменте "Подготовка данных для восстановления объектов, данные о которых частично утеряны..."
Совсем ничего не понимаю, первый раз такое вижу.
Возможно кто-то сталкивался с подобной проблемой?
1 ДенисЧ
 
14.10.15
11:09
А если сделать выгрузку в dt и обратно загрузить?
2 mikecool
 
14.10.15
11:09
какая разница? мне даже думать об этом было лень
3 rainman
 
14.10.15
11:12
Что-то сразу не написал, но в правильной ветке создал вроде. База 7.7.
4 mikecool
 
14.10.15
11:17
(3) у тебя процесс выполнен? вроде да
так ответь - какая разница, отчего не выполнился на твоей машине?
5 PiterPrg
 
14.10.15
11:22
Ббез разницы сколько у тебя оперативы, 32-х разрядный процесс не получит более 2 Gb.

попробуй

bcdedit.exe /set increaseuserva 3072
+перезагрузка

Это должно позволить Win32 процессу использовать 3Gb.
6 rainman
 
14.10.15
11:24
(4) Процесс завершился успешно на сервере. Но это тестовая база, рабочую никак на 17 часов не занять, даже на выходных.
Поэтому я и хотел на своей машине запустить процесс, чтобы прошло быстрее. А на моей прерывается по ошибке "Недостаточно свободной оперативной памяти". При этом в процессах отображается использование всего 500 Мб, из 2 Гб возможных.
(5) Попробую конечно, спасибо. Но в том то и дело, что диспетчер показывает, что занято только 500 Мб. И да, я видел ошибки когда используется 2 Гб и более, это выглядело совсем по другому, чем сейчас.
7 PiterPrg
 
14.10.15
11:34
(6) Сколько "съедено" сейчас - IMHO косвенный параметр. Когда программисту  требуется память - он ее резервирует. (new; alloc; malloc; хер знает еще как) Система либо выделяет память и возвращает указатель, либо не выделяет и возвращает ошибку. Соответственно, если сейчас съедено 500 М это вовсе не означает, что программа до этого не могла затребовать 4Г и отвалиться :-) По-моему так.
8 rainman
 
14.10.15
11:37
(7) Согласен. Но непонятен в таком случае факт успеха на сервере.
9 PiterPrg
 
14.10.15
11:43
Ну, все что знал - рассказал :-). Если (5) не поможет - остается только присвоить проблеме статус неведомой х..ни.
10 rainman
 
14.10.15
16:06
http://s020.radikal.ru/i710/1510/18/db3c9b6844ce.png
Вот такое сообщение. Может прояснит ситуацию.
11 zenik
 
14.10.15
16:13
Если база большая, то она на SQL же? Сервер SQL в данном случае один и тот же?
12 rainman
 
14.10.15
16:21
(11) База большая, но в dbf`ках. Самый большой файл у них не более 800 Мб. В целом проблем особо нет. Раз в пару лет база сворачивается.
13 zenik
 
14.10.15
16:39
Ну ок. Сервер проверку делает в копии... А ошибки то он находит в ней?
14 rainman
 
14.10.15
16:41
(13) Да! Их то мне и надо вычленить...
15 zenik
 
14.10.15
16:59
"Вычленить" надо сперва вредителя с правами на непосредственное удаление объектов...
Как вариант, можно попробовать ее все же в скуль, там прочекать и назад в ДБФ.
16 rainman
 
14.10.15
17:42
(15) Для того и запускаю "Проверка логической целостности" поскольку, знаю, что есть документы с одинаковыми IDDOC. И некорректными движениями. Поэтому в SQL базу заливать не вариант.
Да и вопрос у меня все же скорее, почему на сервере все проходит, а на рабочем компьютере нет. Что надо сделать с рабочей машиной, чтобы она справилась так же успешно как и сервер.
17 Z1
 
14.10.15
18:29
(16) iddoc не может быть никак забудлирован в sql базе 1с 7.7
потому что на это поле есть уникальный индекс по таблице _1sjourn

ну и как бы ИХМО вреда от ТИИ гораздо больше чем пользы.
18 Сияющий Асинхраль
 
14.10.15
18:30
(16) Поставить на комп win98 :-) ... Смешно, но были давным-давно для больших дбф баз проблемы связанные с нехваткой памяти под новыми ос, где простейшим решением было поменять ос, либо напрягать системщика, а не любят они напрягаться
19 Garykom
 
гуру
14.10.15
18:32
(0) На Windows 7 x64 постоянные проблемы с ТиИ для 1С7.7
слегка помогает выставление режима совместимости в Win95 и прочие шаманства но не всегда

т.е. бывает проходит (и быстро) но чаще всего виснет без любой реакции

к примеру "Пересчет итогов" вис всегда пока не грохнул RG*.dbf

но да в виртуалку Win98 (18) и попробовать
20 rainman
 
17.10.15
01:32
Всем спасибо кто откликнулся.
Помогло принудительное увеличение файла подкачки. Поставил вручную 40-60 Гб. ТиИ прошло успешно на моей машине. Возможно кому-то пригодится.
21 Garykom
 
гуру
17.10.15
01:35
(20) утечки памяти в 7.7 лечим: "на подавись" ?
22 rainman
 
17.10.15
01:38
(21) Ну а что делать. Мне не жалко, а она прожорливая. Если бы это не помогло, пришлось бы пробовать другую ОС.
23 Garykom
 
гуру
17.10.15
01:41
(22) фишка в том что теоретически 1С 7.7 должна работать на 16Mb RAM...
и пофиг какая база в пределах ограничений платформы
24 rainman
 
17.10.15
01:45
Да, собственно к чему меня сподвигло попробовать такой вариант. Обратил внимание, что на сервере файл подкачки начинается с 16 Гб, а на моем компьютере с 8 Гб. Задумался и поставил принудительно большой объем, как сказал уважаемый Garykom "на подавись". Помогло.
(23) Понимаю и соглашаюсь, но в этоху SSD, RAM-дисков и многоядерных процессоров это вызывает улыбку.
25 Garykom
 
гуру
17.10.15
01:48
(24) тогда понятно почему у меня траблы... у меня SSD и на 16Gb RAM своп вообще отключен

и еще ни одна прога пока не написала что ей чего то не хватает

ЗЫ :D