ragent.exe терабайтами пишет во временную папку мусорный файл

1. Pyroblast 01.06.26 10:44 Сейчас в теме
Приветствую.

Развернули месяц назад на платформе 8.3.27.2074 x64 базу на MSSQL - типовая бухгалтерия с небольшими доработками. Windows 10 x64.
Все шустро работает, проблем нет... кроме одной.

Висит ragent в процессах и бесконечно пишет во временную папку каждые 5 секунд файл (название вида v8_XXXX_XX.tmp) размером ровно 12 000 000 байт. Содержимое файла - 100 000 одинаковых строк с набором всех печатных символов.
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя 


Файл живет миллисекунды (создается -> пишется 12Мб -> читается -> обнуляется через SetEndOfFile -> удаляется). Выловить содержимое удалось только через скрипт.
Режим отладки (-debug) выключен.
logcfg.xml отсутствует.
Права у USR1CV8 в порядке, запуск от админа ничего не меняет.
Очистка кэша, удаление папки srvinfo и пересоздание кластера с нуля не помогают.
Чтобы не убить SSD, временно вынес Temp в RAM-диск.

Стек вызова на событии WriteFile. Цепочка такая:
ntdll.dll -> KERNELBASE.dll -> core83.dll -> rserver.dll -> core83.dll.
В самом стеке фигурируют вызовы:
core::Thread::threadMain
core::TextManager::getLineStart
Нейронка сделала вывод, что агент зацикливается на какой-то внутренней проверке текстового менеджера или инициализации кодировок, но тут могла и насочинять...

Никто не сталкивался с таким? Это баг или я что-то упускаю в настройках самого сервера/кластера? В базе в это время может вообще никто не работать, нагрузка на диски идет всё равно.

UPD.

Попробовал на другом компьютере просто установить платформу, не ставил галочку запуска службы в качестве сервера. Затем просто запустил сервер из ярлыка, не подключая никаких баз и ничего не создавая - результат тот же. В багтрекере 1С мельком глянул, ничего связанного с ragent нет.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. nomad_irk 84 01.06.26 15:22 Сейчас в теме
(1) поделитесь,плз, монитором, результат проверки выложу.
12. Pyroblast 01.06.26 15:39 Сейчас в теме
(10) https://learn.microsoft.com/en-us/sysinternals/downloads/procmon

Да там просто в диспетчере задач видно.
Прикрепленные файлы:
2. user-z99999 78 01.06.26 12:34 Сейчас в теме
А вы программиста 1с увольняли недавно?
user_2202820; +1 Ответить
3. Pyroblast 01.06.26 13:36 Сейчас в теме
(2) Да нет... вот сидит, вам отвечает. К чему это ехидство? Были, конечно, подозрения на какое-нибудь регламентное задание или что-то такое, но тогда rphost грузил бы диск.

Но я же в конце написал, что на другом компе установленная платформа даже без создания кластера ведет себя точно так же. Я вот и хочу спросить, либо это баг в платформе, на который никто не обращает внимания, потому что в диспетчере нагрузка на ЦП висит на нуле, а столбцы на чтение/запись процесса мало кто добавляет. Либо кто-нибудь подскажет куда еще копнуть можно.
4. starik-2005 3272 01.06.26 13:39 Сейчас в теме
(3)
Либо кто-нибудь подскажет куда еще копнуть можно.
Обычным админам туда лазить квалификация претит, т.к. ловить эти все файлы - это такое. Предположу, что таким образом 1С пытается проверить, а не обижает ли ее какой вирус-другой, например. Этим разрабам платформы любая дичь в голову может прийти.
6. Pyroblast 01.06.26 14:01 Сейчас в теме
(4) Ну, я как минимум надеялся, что кто-нибудь скажет, типа, "вот у меня такая-то версия платформы, ragent ничего никуда не пишет и диск не грузит", тогда я буду уже дальше пытаться выяснять что за дела и из-за чего включается режим убийцы SSD.
Причем в "мониторе ресурсов" винды на вкладке с дисками тоже не видно, что процесс что-то пишет. В диспетчере задач или в каком-нибудь process explorer видно.
5. KirillHome 5 01.06.26 13:55 Сейчас в теме
(3)
установленная платформа даже без создания кластера ведет себя точно так же.


Платформа той же версии (8.3.27.2074)???
Если попробовать другую версию платформы - результат повторяется???
7. Pyroblast 01.06.26 14:06 Сейчас в теме
(5) На сервере я не пробовал другую платформу. На своем компе я ставил 8.3.27.1786, был под рукой дистрибутив, там то же самое. Свежую 8.3.27.2170 не пробовал еще. Сейчас качну, но есть сомнения.

UPD.

Поставил, запустил сервер с ярлыка, то же самое.
Прикрепленные файлы:
8. user-z99999 78 01.06.26 14:25 Сейчас в теме
(3) Если программист 1с доволен своей зарплатой, тогда три варианта:
1) поиск циклических ссылок
https://its.1c.ru/db/metod8dev/content/5859/hdoc

2) вирус

3) такая версия 1с, проверить на тесте на другой версии поведение
9. KirillHome 5 01.06.26 15:21 Сейчас в теме
(7) Проверил у себя (Win'11).
Платформа 8.3.27.1936
Да, в C:\Users\USR1CV8\AppData\Local\Temp создаётся раз в 5 секунд файл.

И да, судя по Process Monitor - размер 12 000 000

Прикольно...
Как раз на днях "почти умер" системный диск (13% здоровья осталось)...
И я всё думал - почему...
Прикрепленные файлы:
Pyroblast; +1 Ответить
11. SweetSweetLoot 01.06.26 15:33 Сейчас в теме
8.3.27.1936 linux сервер полет нормальный в temp не пишет.
13. KirillHome 5 01.06.26 15:49 Сейчас в теме
Похоже - это полнотекстовый поиск "шалит"...

И - как мне кажется - надо разобраться с файликом
C:\Program Files\1cv8\_НомерВерсии_\bin\sm-searcher\e1c-fts-1.2.cfg

Конфигурационные параметры сервера полнотекстового поиска.
14. axelerleo 325 01.06.26 16:26 Сейчас в теме
У меня два предположения - либо это полнотекстовый поиск, либо эталонный вызов рабочих серверов, связанный с определением производительности.
Как пишут сами 1С: "Для нашего кластера мы выбрали алгоритм, близкий по сути к Least Response Time. У нас есть механизм, собирающий статистику производительности рабочих процессов на всех серверах кластера. Он делает эталонный вызов каждого процесса сервера в кластере; эталонный вызов задействует некоторое подмножество функций дисковой подсистемы, памяти, процессора, и оценивает, насколько быстро выполняется такой вызов. Результат этих измерений, усредненный за последние 10 минут, является критерием — какой сервер в кластере является наиболее производительным и предпочтительным для отправки к нему клиентских соединений в данный период времени. Запросы клиентов распределяются таким образом, чтобы получше нагрузить наиболее производительный сервер – грузят того, кто везет."
15. axelerleo 325 01.06.26 16:55 Сейчас в теме
ну собственно вроде да, это оно. Смотреть с 8:20
https://vkvideo.ru/video_ext.php?oid=-42867005&id=456240923&hd=2&hash=5f0f5423551a1b11&%E2%80%A6
Pyroblast; KirillHome; +2 Ответить
16. KirillHome 5 01.06.26 18:44 Сейчас в теме
(15)
вроде да, это оно


И да, по словам лектора (на 08:13):
Раз в две секунды он задаёт математическую задачу всем процессорам, всем процессам рабочим, плюс задачу на создание временного файла во временном каталоге каталоге временных файлов, размером в 12 мегабайт - создай, заполни, прочитай, удали.


Так что - раз в 5 секунд это ещё хорошо...

Но мой вывод - если на компьютере с сервером 1с нет "обычного диска" - то сервер 1с года за 2 может "убить" SSD.
12Мб * 30 (раз в минут) * 60 (минут в часе) * 24 (часа в сутках) * 365 (суток в году) = 180Тб
(или, как сейчас вижу)
12Мб * 12 (раз в минут) * 60 (минут в часе) * 24 (часа в сутках) * 365 (суток в году) = 70-75Тб

Что, похоже, и произошло у меня с предыдущим SSD ("китаец" на 1Тб, отработал почти 2 года, остаток здоровья 13%).
Купил на замену новый (Ресурс SSD (TBW) = 320) - но, как понимаю, тоже максимум года на два (из расчета каждые две секунды) - четыре (из расчета каждые 5 секунд).
VyacheslavShilov; axelerleo; +2 Ответить
23. YA_514896950 36 02.06.26 08:28 Сейчас в теме
(16) может проще не покупать для 1с такие слабые ссд? ну серьезно, для 1с ссд с ресурсом 320тбв???
17. Pyroblast 01.06.26 18:48 Сейчас в теме
(15) Хм... действительно, похоже это оно и есть... только периодичность отличается.. остается вопрос, зачем мне нужен этот круглосуточный мониторинг если у меня один единственный сервер и как это отключить. А если это не отключается, то как плюнуть в рожу тому, кто это придумал.

С другой стороны тут выше товарищ под линуксом утверждает, что у него ragent таким не занимается.
18. KirillHome 5 01.06.26 19:52 Сейчас в теме
(17)
и как это отключить. А если это не отключается, то как плюнуть в рожу тому, кто это придумал.

Есть мысль попробовать завтра перенести это всё добро на RAM-диск (благо все ресурсы - собственные, и на miniPC, где всё крутится - догнал в своё время оперативку до 96Гб).
19. Pyroblast 01.06.26 21:07 Сейчас в теме
(18) Так у меня на рам-диск сейчас это все и пишется, я выставил на 512 мегов, но я не замечал, чтобы было занято больше 100, только во время обновления конфигурации увеличивал до двух гигов, но и в таком случае занимало немногим больше одного гига. Такими объемами как у вас не располагаем. Но это все костыль, а не хорошее решение. Может кто на опыте еще сюда заглянет, ну или сам попробую в 1С вопрос задать. Такую инфу бы хорошо подать под заголовком "1С умышенно уничтожает десятки тысяч серверов по всей стране!" на каком-нибудь популярном портале, сразу бы знающие люди объявились ))
Miket78; KirillHome; axelerleo; +3 1 Ответить
20. axelerleo 325 01.06.26 22:48 Сейчас в теме
(19) Жаль тут нельзя упоминание пользователей сделать, так бы может Антон Дорошкевич увидел, прокомментировал бы
KirillHome; +1 Ответить
24. YA_514896950 36 02.06.26 08:30 Сейчас в теме
(19) ну либо не заниматься ерундой и покупать нормальные ссд диски с вменяемым тбв
25. Miket78 56 02.06.26 08:37 Сейчас в теме
(24) Ну какой бы ни был SSD, зачем ресурс попусту тратить? При их цене сейчас. Сделайте раз в минуту мониторинг, или в настройки самое лучше вынести.
26. YA_514896950 36 02.06.26 08:45 Сейчас в теме
(25) если запись плюс минус одинаковыми данными то там этот ресурс тратится у современных ссд почти что виртуально)))) вы не там проблемы ищите.
27. Pyroblast 02.06.26 10:41 Сейчас в теме
(26)
если запись плюс минус одинаковыми данными то там этот ресурс тратится у современных ссд почти что виртуально


Мне кажется, что вы переоцениваете современные контроллеры ССД, не умеют они в дедупликацию.
Если в системе стоит что-то типа PrimoCache с отложенной записью или рейд-контроллер с writeback, то износ, вероятно, будет кратно меньше, но это и риски накладывает некоторые.

Но тут у нас не "ссд для 1С" изнашивается, а системный диск, на нем вполне могут и сэкономить.

Тратить 75 ТБ ресурса в год на пустую перезапись алфавита - это технический абсурд.
29. YA_514896950 36 02.06.26 11:14 Сейчас в теме
(27) с системного диска переносить эту папку - правило хорошего тона. и все равно покупать ссд для задач 1с с ресурсом меньше 1000тбв это же бред, простите.
и да даже если в дедупликацию они не умеют, было же ресурсное тестирование ссд от 3дньюс или чего то такого, там они писали постоянно одини и теже данные, и да, в итоге ссд у них сдыхали, но почти все перевалили свой ресурс записи кратно! Там было обсуждение же и пришли люди к выводу что да, запись постоянно одних и тех же данных не тратит ресурс так как разнообразных. Поэтому ничего страшного 1с не делает с вашим ссд.
22. SweetSweetLoot 02.06.26 07:45 Сейчас в теме
(17) посмотрел еще раз, да я ошибся он так же пишет.
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_18139.tmp", O_RDWR|O_CREAT|O_TRUNC, 0660) = 21
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_18139.tmp", O_RDWR) = 34
2076337 write(21, "\377\0\1\2\3\4\5\6\7\10\t\n\v\f\r\16\17\20\21\22\23\24\25\2­6\27\30\31\32\33\34\35\36"..., 12000000) = 12000000
2076337 close(21)                       = 0
2076337 close(34)                       = 0
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_18139.tmp", O_RDWR) = 21
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_18139.tmp", O_RDWR) = 34
2076337 read(21, "\377\0\1\2\3\4\5\6\7\10\t\n\v\f\r\16\17\20\21\22\23\24\25\2­6\27\30\31\32\33\34\35\36"..., 12000000) = 12000000
2076337 close(21)                       = 0
2076337 close(34)                       = 0
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_18139.tmp/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
2076331 openat(AT_FDCWD, "/opt/1cv8/x86_64/8.3.27.1936/sm-searcher/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 21
2076331 close(21)                       = 0
2076352 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 21
2076352 read(21, "always madvise [never]\n", 4096) = 23
2076352 close(21)                       = 0
2076331 openat(AT_FDCWD, "/opt/1cv8/x86_64/8.3.27.1936/sm-searcher/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 21
2076331 close(21)                       = 0
2076352 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 21
2076352 read(21, "always madvise [never]\n", 4096) = 23
2076352 close(21)                       = 0
2076331 openat(AT_FDCWD, "/opt/1cv8/x86_64/8.3.27.1936/sm-searcher/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 21
2076331 close(21)                       = 0
2076352 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 21
2076352 read(21, "always madvise [never]\n", 4096) = 23
2076352 close(21)                       = 0
2076331 openat(AT_FDCWD, "/opt/1cv8/x86_64/8.3.27.1936/sm-searcher/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 21
2076331 close(21)                       = 0
2076352 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 21
2076352 read(21, "always madvise [never]\n", 4096) = 23
2076352 close(21)                       = 0
2076331 openat(AT_FDCWD, "/opt/1cv8/x86_64/8.3.27.1936/sm-searcher/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 21
2076331 close(21)                       = 0
2076249 openat(AT_FDCWD, "/proc/meminfo", O_RDONLY) = 21
2492378 +++ exited with 0 +++
2076249 read(21, "MemTotal:       115389656 kB\nMem"..., 1024) = 1024
2076249 read(21, ":       35944 kB\nVmallocChunk:  "..., 1024) = 510
2076249 read(21, "", 1024)              = 0
2076249 close(21)                       = 0
2492444 openat(AT_FDCWD, "/etc/hosts", O_RDONLY|O_CLOEXEC) = 21
2492444 read(21, "127.0.0.1 localhost\n10.54.145.10"..., 4096) = 278
2492444 read(21, "", 4096)              = 0
2492444 close(21)                       = 0
2076352 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 34
2076352 read(34, "always madvise [never]\n", 4096) = 23
2076352 close(34)                       = 0
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_1813a.tmp", O_RDWR|O_CREAT|O_TRUNC, 0660) = 34
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_1813a.tmp", O_RDWR) = 39
2076337 write(34, "\377\0\1\2\3\4\5\6\7\10\t\n\v\f\r\16\17\20\21\22\23\24\25\2­6\27\30\31\32\33\34\35\36"..., 12000000) = 12000000
2076337 close(34)                       = 0
2076337 close(39)                       = 0
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_1813a.tmp", O_RDWR) = 34
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_1813a.tmp", O_RDWR) = 39
2076337 read(34, "\377\0\1\2\3\4\5\6\7\10\t\n\v\f\r\16\17\20\21\22\23\24\25\2­6\27\30\31\32\33\34\35\36"..., 12000000) = 12000000
2076337 close(34)                       = 0
2076337 close(39)                       = 0
2076337 openat(AT_FDCWD, "/tmp/v8_QxzpGe_1813a.tmp/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
2076331 openat(AT_FDCWD, "/opt/1cv8/x86_64/8.3.27.1936/sm-searcher/", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 34
2076331 close(34)                       = 0
2076352 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 34
Показать
Pyroblast; +1 Ответить
21. Miket78 56 02.06.26 07:36 Сейчас в теме
У меня тоже самое на 8.3.27.1936 и на 8.3.27.2170. Win2019. Каждые 5 секунд.
Pyroblast; +1 Ответить
28. muskul 02.06.26 10:59 Сейчас в теме
Запланированное устаревание в действие.
кто такую ерунду вообще придумали в прод пустил
30. axelerleo 325 02.06.26 11:56 Сейчас в теме
Опять же, надо понимать что за время жизни сеанса 1С эти временные файлы так же сотнями создает и уничтожает. любая печатная форма - это временный файл, условно говоря. плюс идея же в том что база не однопользовательская, и сеансов десятки/сотни, а потому нагрузка на дисковую подсистему будет сопоставима с созданием временного файлика в 12 Мб. эти дисковые операции как раз и служат индикатором того, что сервер "вывозит" и ему можно давать в нагрузку новые сеансы. Кластер же ж :)
31. starik-2005 3272 02.06.26 18:34 Сейчас в теме
В линухе обычно /tmp - это tempfs и лежит в памяти, так что как бы у тех, у кого линух стоит, не так все плохо. Но да, со стороны 1С это как-то подленько.
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот