#0
by Torquader
Столкнулся тут с "забавным" сюрпризом. В конфигурации рабочей станции (net config server) указано, что максимальное число открытых файлов 16384. Запускаю вот такой сценарий: var FsoObject=WScript.CreateObject("Scripting.FileSystemObject"); var Path="\\SERVER\C$\TEMP\TMP\"; var FileArray=new Array; for(i=0;i<100000;i++) { try { f=FsoObject.CreateTextFile(Path+String(i)+".txt"); } catch(e) { WScript.Echo("Скукожились на "+String(i)+"
"+e.description); break; } FileArray[i]=f; } for(i=FileArray.length;i>0;) { f=FileArray[--i]; f.Close; delete FileArray[i]; } WScript.Echo("End"); Так вот. Данный сценарий "лажается" на числе 2709 или около того. При этом, если какое-то время подождать, то можно создавать ещё файлы. А если одновременно подключиться с другой машины (в другую директорию), то можно создать ещё 30-40 файлов (почему-то результат всегда разный). Если файлы создавать локально, то все 100000 создаются как часы. Вопрос - как можно увеличить число одновременно открытых файлов, чтобы оно хоть теоретически приближалось к установленному значению ? (Пробовал на Windows 2000 и Windows Xp - результат от системы зависит мало). Также хотелось бы знать, насколько в данном случае спасёт дело серверная ОС или, на крайняк, SMB-на Linux ? P.S. под рукой серверной Оси нет, а на рабочих системах ставить "эксперименты" не дадут.
#1
by Витязь
>>Вопрос - как можно увеличить число одновременно открытых файлов, чтобы оно хоть теоретически приближалось к установленному значению Зачем?
#3
by Torquader
Скажем так, каждая база 1С - примерно 200 файлов. Если баз, скажем, десять, то при открытии каждой хотя бы одним пользователем мы получаем ситуацию, когда второй пользователь уже не может войти в базу (а пользователей - три). Кроме того, система журналирования действий, перенесённая с Linux (там кладутся файлы и отслеживается из "сьедание" обработчиком) "кладёт" всю сеть на несколько минут работы при опросе всех датчиков.
#4
by Витязь
Либо переводить систему на серверную ось, либо юзать скуль, либо использовать другие решения. Я например вот это решение использую, работает в 3х магазинах без сбоев. А до этого зависали кассы, из-за использования не серверной оси на сервере. Лицензионную хрюшу на серваки купили, а на это ограничение напоролись. В итоге так выкрутились.
#5
by Torquader
Спасибо за ссылку, но проблема не столько в 1С, сколько в обработчике событий от датчиков - его придётся переписывать. P.S. А у серверной Оси есть какие-то ограничения ?
#10
by zva
Для ХР Prof HKLMSystemCurrentControlSetControlSession ManagerMemory Management. Параметр IoPageLockLimit (REG_DWORD) = 65536 (Decimal) /10000 (Hex) HKLMSystemCurentControlSetServiseslanmanserverparameters. Параметр Size (Dword) = 3 HKLMSystemCurentControlSetControlSession ManagerMemory Menegment Параметр LargeSystemCache (Dword) = 1
#11
by Torquader
А насколько выше ? Просто, если там хотя бы 65536 можно, то можно задуматься о серверной ОС, а если там получается 8192 (предполагая, что 16384->65536 даёт 2048->8192) то нафиг такая "серверная" Ось. У меня - именно открыты, причём на запись. Вот как раз об этом и думаю, так как про Windows мнение, которая здесь цензура вырезает. Попробую поиграться параметрами. P.S. вот такими "засадами" и "сюрпризами" вас всегда "радует" Microsoft.
#12
by yukon
Во всем виноват Гейтс! Зачем требовать от настольной ОС функционала и ресурсов серверной ОС? Все на самом деле довольно просто (конечно если не залазить в дебри). Если объяснять совсем просто то Win XP Home/Prof система управления памятью не заточена на серверные задачи, в т.ч. на файл-сервер. Конечно расшарить папки можно, но работать будет хуже чем на серверной ОС. В твоем случае система не выделяет достаточно памяти для открытия максимального количества файлов. А выделяет на "2709 или около того", при подключении с другого компьютера видимо отдается весь оставшийся резерв на "ещё 30-40 файлов" Решение в или ConfigNT тебе в руки.
#13
by Torquader
Я понимаю, что Ось - несерверная. Просто интересно, а в серверной Оси мы на те же грабли наступим ?
#16
by yukon
В журнале событий обычно пишется ошибка: Тип события: Ошибка Источник события: Srv Категория события: Отсутствует Код события: 2017 ... Описание: Сервер не смог выделить память из невыгружаемого пула памяти, так как достигнут указанный в конфигурации верхний предел. Вроде все внятно написано.
#20
by yukon
Ну мне лично стало понятно куда копать. гугль и microsft.com творят чудеса. вопрос только в том а появилась ли такая ошибка в , а то разговор беспредметен - точнее он про МОЮ решенную проблему, а не нерешенную проблему из
#25
by smaharbA
--------------------------- Сервер сценариев Windows --------------------------- Скукожились на 16383 --------------------------- ОК ---------------------------
#27
by smaharbA
и клиент и сервер вин ХП это называется Признак оптимизации сервера для выделения службам доступа к файлам и принтерам максимально возможного числа ресурсов. но в ХП нет интерактивного выбора, свойств Службы общего доступа к файлам и принтерам отсюда и size=3 и перезапуск службы сервер
#29
by Torquader
Понятно, оптимизация потребует установки памяти (так как при её включении всё просто "тормозит"). А "замечательный" предел в 16384 можно как-то "перешагнуть" ? Или это уже надо dll "руками" ?
#33
by Torquader
Спасибо, буду пробовать - кроме того, "замечательный" сервис придётся "научить" обходиться меньшим количеством файлов (просто данные каждой карточки сейчас сохраняются в отдельный файл, и в момент выгрузки "умная" система открывает и все их блокирует. В памяти этого "чуда" помещается 65536 карт, по 4 Кб информации на каждую - в момент выгрузки карточек на сетевой диск всей сети "приходит белая лиса").
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Максимальное значение ID
- Напомните по к-ву одновременно открытых файлов (ограничение ОС)
- Максимальное количество строк в экселевском файле?
- Максимальное количество открытых файлов в Windows 2000 проф
- Максимальное количество строк в документе?
- Какое максимальное количество строк в dbf-е для 1с?
- ограничить количество открытых сессий 1С
- Торговля 7. Количество по ПартииНаличие <> Количество по Остатки ТМЦ. Это нормально?
- Какое максимальное количество логических разделов на одном физ. диске?
- Максимальное количество колонок в запросе для клиент-серверного варианта работы
В этой группе 1С
- Несколько организаций в УПП
- Как сохранить табличную часть отчета при закрытии
- Северная надбавка в ЗУП
- Как в 1С v7 торговле сформировать печатную списка контрагентов с данными в карточках?
- Проверка бинарной операции на полугруппу
- Документ отчет о розничных продажах? Подскажите как быть.
- Дайте совет по фиксальному регистратору
- Помогите придумать название фирмы франчайзи
- Конвертация справочника Номенклатура
- Агент сервера 1с , после переименования сервера(комп такой) но стартует! в чём дело ?
- Платформа устанавливается на английском языке
- Консоль SQL-запросов
- Ввод начальных остатков, счет 10.6. Нехочу вводить партию.
- Как выгрузить Номенклатуру в Excel из УТ?
- Проверка даты на пустое значение - как?
- Пользователь при создании БД на сервере
- УТ - фронт кассира
- Параметр запроса для встроенной функции "В" - массив или список значений?
- Регистр сведений ОбъектыДоступаДокументов. Для чего?
- Преобразование значения к типу Число не может быть выполнено