Имя: Пароль:
1C
1С v8
Память (ОЗУ) в ожидании, жуткие тормоза 1С
,
0 Nikoss
 
29.11.19
07:06
Старая тема, с не освобождаемой памятью 1С.

https://i.paste.pics/69c971f718f03e024d509c84dd1fcb51.png
Если смотреть диспетчер задач - это 70% занятой памяти.
Как только [свободная] память заканчивается, и всё уходит в [Ожидание], 1С начинает жутко тормозить. Достаточно просто очистить standby память, в том же Rammap, все становиться нормально.

Это история повторятся не только на этом компьютере.
Но в данном конкретном случае это 8Гб озу, файл подкачки 12Гб.

Да... речь про файловую базу (как через веб-сервер, так и напрямую).
1 ProxyInspector
 
29.11.19
07:37
Ты список процессов покажи, кто съел память. Возможны несколько вариантов:
1. Память каждого "клиента" в районе 200 мб и не растет - это стандартное поведение 1С сынок
2. Память клиента медленно растет растет, пока вся память не будет съедена. Это циклическая ссылка в модуле объекта. самый простой способ в модуле объекта написать
    Перем Контекст = ЭтаФорма;
самый простой способ определить наличие этой проблемы - групповая обработка объектов. Если память закончится раньше, чем обработка, тогда есть циклические ссылки.
3. Память память rphost растет больше пары гигов. Надо настроить перезапуск процессов
2 ProxyInspector
 
29.11.19
07:42
Ну и последний вариант - расход памяти растет, но все нормально.
Я сейчас развлекаюсь с большими документами.  При работе в оного человека на сервере, при заполнении документа в 1 млн строк для толстого клиента требуется 8 гигов памяти. При закрытии документа эта память освобождается. Проведение этого документа по одному оборотному регистру съедает те же 8 гигов памяти на сервере 1С (rphost) и то же освобождается при завершении проведения
3 Мимохожий Однако
 
29.11.19
07:48
(1) "Да... речь про файловую базу"
4 dmpl
 
29.11.19
07:50
(0) В такой ситуации все начинает жутко тормозить, потому что диск загружен на 100500%. Проблема в ОС, а не в 1С.
5 Nikoss
 
29.11.19
08:11
вы сейчас говорите про [используемую -зеленая] память. С ней все понятно, когда закончилась, идет работа через файл подкачки и естественно всё упирается в скорость дисков. А я говорю о памяти в [ожидании -синяя], как на скриншоте в (0), в таком случае диспетчер показывает 70% занятой физической памяти.

в том то и дело, диск не нагружен вообще, т.е. активной записи/чтения свопа нет.
6 Йохохо
 
29.11.19
08:15
(5) наверное есть какая то специфика, если это только у Вас происходит?
7 dmpl
 
29.11.19
08:18
(5) Эта синяя память прежде чем сможет использоваться, должна быть освобождена. ОС ее не освобождает по какой-то причине. Возможно, какой-то кривой драйвер или обновление.
8 Nikoss
 
29.11.19
08:24
(6)(7) дело в том, что такое поведения замечал еще давным давно. На разных "серваках", с файловыми БД (не знаю как с серверными).

Классическая схема: что-нибудь типа УТ 10, "сервер", файловая база, человек 10 работают по RDP. Так вот, там также раз в неделю нужно было чистить standby память, т.к. 1С в процессе работы кэширует память (синяя), но не отдает.
Даже закрытие всех 1С не помагает, диспетчер говорит 50% свободной ОЗУ, а в мониторе 50% используется, 50% ожидает (она же синяя, она же закэшированная) и всё - ничего не шевелится - причем это касается только 1С. Начинаешь запускать другие программы, всё нормально синяя уменьшается, программа работает нормально.
9 Мимохожий Однако
 
29.11.19
08:43
(8) Ты бы рассказал поподробнее про саму базу: объем, количество пользователей, интенсивность,конфигурация
10 Йохохо
 
29.11.19
08:48
(8) у всех отдает, а у Вас не отдает. Может надо выделить время и понять почему что-то что давным давно и вдруг опять и снова на разном серваке?
11 Сияющий в темноте
 
29.11.19
08:50
а зачем системе освобождать память,если она никому не нужна?
опять же,выделение памяти процессам идет из кучи,подозреваю,что StandBy, это и есть куча,которая еще не выделена.
12 dmpl
 
29.11.19
08:58
(11) Куча - это колонка "Свободно". Опять же, ОС всегда старается держать некоторое количество памяти именно в состоянии "Свободно", чтобы можно было быстро выделить память программе, а потом уже разбираться с зарезервированной памятью..
13 dmpl
 
29.11.19
09:01
Соответственно, если свободно 0 - значит память выделяется быстрее, чем освобождается.
14 Фрэнки
 
29.11.19
09:10
(0) этой болезнью болеет не только 1С - это поведение всей виндовз вследствие обновлений безопасности последних лет.

Точнее, если хочешь, чтоб 1С не тормозила - убей все сеансы приложений, кроме 1С. Тогда и 1С сможет съедать много-много памяти и возможно даже залезет в файл подкачки, но не уверен.

Мои наблюдения - именно в винде от файла подкачки проку теперь никакого. Причем, не важно, вин7 это или вин8 или вин10, если там установлены обновки после 2016-го примерно года.

Оператива для комфортной работы на клиенте минимум 8 - рекомендовано должно быть 12 или 16 - явно больше 8-ми примерно на 4 гига нужно.
15 Фрэнки
 
29.11.19
09:17
Я заметил абсолютно такие же тормоза, что и 1С создает, когда в браузере открыто овердофига вкладок и бразуер съедает 3-4-5 гигов оперативы.

И заметил, что подобная трабла возникает именно в контексте использования памяти виндовз приложениями. Допустим, когда использование идет только в линукс, то своп может начать использоваться, но когда в виртуальных машинах сидит занятая оператива, то виртуалка в своп уйти не может, хоть тресни, но не дождешься, а все начнет просто жутко тормозить. Впрочем, виртуалки на этот момент честно-честно выдают предупреждение, что нельзя назначать для виртуальной машины более 50% физической оперативки (не общей со свопом, а именно от плашек памяти которые)
16 Nikoss
 
29.11.19
09:32
(14)(15) ну ты предлагаешь просто поставить больше памяти на комп, понятно дело это выход, но какой-то не с той стороны.
Но и опять же, ты говоришь про обычно используемую память, а не кэшированную.
17 BeerHelpsMeWin
 
29.11.19
09:33
платформа какая?
18 Nikoss
 
29.11.19
09:34
(9) а это не имеет значение. Конкретно сейчас у меня на раб.компе, туда сюда запускаются демки розницы, УТ, Бухи, КА - просто демки.
19 Nikoss
 
29.11.19
09:35
(17) так же - без разницы. Такое поведение наблюдаю еще с 8.2. Сейчас это последние 8.3.12 - 13 - 14 - 15
20 Nikoss
 
29.11.19
09:37
Дело в том, что я не могу это искусственно воспроизвести. Просто в определенный момент всё (в частности 1С) начинает жутко тормозить - хотя в диспетчере 70% памяти занято. Идешь в раммап и там как раз видно - что оставшиеся 30% это standby.

Почистил standby и все работает хорошо.
21 Nikoss
 
29.11.19
09:38
Даже в интернете есть бородатые темы на форумах, где даже батниками делали очистку этой памяти просто по регламенту.
22 Фрэнки
 
29.11.19
09:46
(16) да забудь просто о кэшировании памяти в винде!
Забудь.
23 Фрэнки
 
29.11.19
09:47
Винду обновлял? - Обновлял!
Выкинь ее теперь в помойку.
24 dmpl
 
29.11.19
11:12
(20) Это похоже на фрагментацию памяти. Т.е. когда нет достаточно большого последовательного участка памяти в куче.
25 Bigbro
 
29.11.19
11:18
у меня домашний комп как то после обновления откусил 8 гб из 16 и не отдавал ни в какую, что только не делал. месяца через 4 очередное обновление закрыло проблему, - вернулась память.
я как раз там видеокарту менял примерно в это время, грешил на видеодрайверы.