Слишком много файлов открыто для общего доступа
Доброго времени суток!
Имеется XP SP2 Prof.
На ней папка, содержащая более 10000 файлов.
Папка предоставлена в общий доступ.
Открытие папки непосредственно с консоли XP SP2
совершается практически моментально.
Открытие папки по сети может затянуться на несколько минут.
Аналогичным образом обстоит дело с поиском файла в данной папке.
Та же папка, перенесенная на Windows 2003 Server,
открывается по сети практически также быстро, как и с консоли сервера.
На обоих компьютерах (XP SP2 и клиентском) отсутствует антивирус.
В чем может быть проблема?
Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
Практический пример настройки Postgre SQL для непрерывного архивирования баз данных 1С Предприятия на ОС Linux
1. Увеличьте количество файлов, разрешенных для открытия в командном режиме.
задний план
Причина в том, что процесс открыл количество файлов и каналов связи, которое превышает системный лимит в определенный момент времени. Вы можете проверить максимальное количество дескрипторов, установленное текущей системой, с помощью команды ulimit -a:
Просмотр количества открытых файлов в процессе
Увеличиваем лимиты на открытые файлы для процесса 1С редактированием файла демона.
Результат данной настройки будет аналогичен предыдущему варианту.
2. Обновим конфигурацию демон:
3. Перезапустим демон:
Отметим также, что помимо настроек, относящихся к количеству открытых файлов – может понадобится обратить внимание на настройки максимального числа сегментов разделяемой памяти для всей системы.
Очистка кэша: серверного и клиентского для 1С:Предприятия
Лечим непонятные ошибки 1С Предприятия чисткой так называемого кеша - служебных файлов с настройками 1С
Решение
Поскольку проблему надо было решать достаточно оперативно, самым очевидным решением, которое сразу пришло на ум, было полностью отключить функцию автономные файлы. Следующие действия необходимо выполнять из-под учетной записи с правами локального администратора. Для осуществления этого откроем Панель управления , далее Центр Синхронизации , затем Управление автономными файлами . Увидим перед своими глазами следующее окно:
Далее ждем кнопку Отключить автономные файлы . После отключения может потребоваться перезагрузка операционной системы. После того, как мной было выполнено отключение автономных файлов, проблема на станции пользователя более не повторялась.
Вполне возможно, в описанном выше случае мы имели дело с ошибкой функционирования "автономных файлов". Поэтому не исключено, что существует путь решить проблему не столь кардинальным образом, то есть не отключая автономные файлы.
Наверное у многих случалось так что нужно было открыть очень много файлов по сети с компьютера к примеру с Windows XP(Vista) не важно какой редакции, конкретный случай это .dbf база 1С иногда 1С открывает тысячи файлов в итоге после того как пара пра пользователей открыла несколько баз, третий пользователь не смог открыть базу с 1С , выскочила ошибка невозможно открыть таблицу такую то, связанно это с ограничением на количество одновременно открытых файлов, потому что сделав кое какие манипуляции в реестре мы это ограничение обошли, но это только для пробы , что бы удостовериться то это точно из за этого не открывается база, Так вот и вопрос какое ограничение на количество открытых файлов накладывает майкрософт на продукты XP и Vista . Может есть какое то общее ограничение?? Или же есть оганичение на количество открытых файлов в сеансе?? Я так понял что общее есть точно. Просветите пожалуйчта в этом вопросе , может кто нидь ссылку на статью даст. В Майкрософтовской поддержке на этот вопрос не ответили, однозначно сослались на ресурс support и Technet.
Устраняем ошибку «Слишком много открытых файлов» или «Too many open files» в 1С под ОС Linux (Red Hat 7/Centos 7)
Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
Проверка рабочих процессов сервера 1С на Linux
Как проверить на Linux запущены ли процессы сервера 1С. Проверка открытых портов сервера 1С
Все ответы
Никогда не видел чтоб папка с 10К файлами открывалась по сети мгновенно, во всяком случае первый раз. Нормальное время для такого количества файлов где то секунд 20-30.
При аналогичном (таком же) оборудовании на сервере открытие папки происходит в разы быстрее, чем на XP SP2.
Возможно, на сервере это происходит не совсем мгновенно. Да, возможно, где-то на уровне 20 сек. Однако на XP SP2 подобное действие по сети происходит минут 5. Explorer просто жутко тормозит при открытии, Far при открытии папки начинает не спеша отсчитывать по 256 файлов.
Конструктивных мыслей нет?
Мгновенно - это наверно все же около 0 секунд. 20 секунд - это не мгновенно. А 5 минут - это действительно слишком.
Как устроена сетка? Сколько пользователей подключено к ХП с папкой? Что на ней делается? Оптимизация на программы пользователя (по умолчанию) или на сервиы (как на сервере)?
> Мгновенно - это наверно все же около 0 секунд. 20 секунд - это не мгновенно. А 5 минут - это действительно
Конкретных замеров с секундомером в руке не ставил. По ощущениям -- на сервере бывало и гораздо меньше 20 сек.
> Как устроена сетка?
Сервер 2003 Standard (AD+DHCP+DNS). Искомый XP Prof входит в домен.
> Сколько пользователей подключено к ХП с папкой?
От 1 до 10. Проблема существует независимо от количества пользователей.
> Что на ней делается?
В папке? Куча файлов xls
> Оптимизация на программы пользователя (по умолчанию) или на сервиы (как на сервере)?
Делал на сервисы. Не помогло.
брендмауер отруби на файл-сервере
и поставь сервер 2003 уже что ли ) если такие задачи . так же хочу напомнить, что к winxp одновременно могут подключиться только 10 человек.
Брандмауер включен. Однако для сетевого подключения, смотрящего в локалку, он отключен.
2003 сервер у нас есть. Однако очень хотелось эту папку иметь на XP. Покупать еще один 2003 сервер
конкретно для решения этой проблемы не хочется, пиратку ставить не будем.
Хочу напомнить, что данная проблема возникает при подключении даже одного пользователя, не говоря
уже об 10.
Вообще было бы интересно узнать у гуру, баг это или фича.
хз у меня тормоза про которые ты написал возникают при включенном брендмауере, я хз почему, хотя всё прекрасно открыто.
Я очень сильно сомневаюсь что фаервал имеет к этому отношение.
Я бы копал в сторону сети - когда я спросил "Как устроена сетка?" я имел в виду вовсе не диапазон адресов, а хабы/свичи/провода/сетевые карты.
Например, ХП имеет такую же карту что и сервер? Воткнута в тот же свич? Кабель в порядке? С какой скоростью работает интерфейс? Какая загрузка интерфейса при доступе? Что будет если поменть порт/кабель/карту? Другие компьютеры под ХП имеют ту же проблему?
Я тоже. Но для верности попробовал. Эффекта нет.
Я не думаю, что здесь дело в качестве сетевой инфраструктуры, так как:
1) На этом компе стоял 2003 сервер и все работало прекрасно. Проблема возникла после установки на этот комп XP
2) При копировании/записи файлов скорость нормальная, такая же, какая была при наличии на оном железе 2003 сервера.
Сетевые карты при переустановке с 2003 на ХР не изменились.
Посему мне кажется, что здесь какая-то проблема с индексированием или кешированием.
Как-то путем манипуляций в реестре я достиг ситуации, когда медленное открытие было только 1 раз после перезагрузки XP. В второй и последующие разы все открывалось нормально. Однако в этом случае сервис сервера на XP работал крайне нестабильно: пользователи временами не могли подключаться к шаре.
На других компах не проверял. Попробую в ближайшее время.
Еще о важности вопроса: дело в том, что в нескольких папках содержится около 70 тыс. файлов.
Если при нахождении их на сервере у клиента по сети поиск файла по маске происходит несколько секунд,
то при нахождении файлов на XP -- не менее 5 мин.
Поэтому производительность труда сильно падает :-)
В систему технической поддержки поступила заявка от пользователя, смысл которой сводился к тому, что отсутствовала возможность сохранения рабочих таблиц формата xlsx на корпоративном сетевом ресурсе, в папке департамента к которому принадлежал данный клиент. Дополнительно, самим же пользователем было установлено, что абсолютно идентичной проблемой страдает и другое офисное приложение, почтовый клиент Outlook 2010 в процессе сохранения вложений из писем по тому же самому сетевому пути, а так же и ряд других программ, в частности 1С. В чем же заключались детали инцидента? При попытке сохранения файлов на корпоративном сетевом хранилище, пользователь получал ошибку "Этот путь не существует. Проверьте правильность указания пути и повторите попытку".
Подробнее об ошибке
Пример полного текста ошибки:
Описание:
Данная ошибка связана с тем, что ОС Linux исчерпала ограниченный ей лимит файлов на открытие и может возникать как при работе пользователя в пользовательском режиме, так и при работе разработчика с хранилищем конфигурации.
Побочными ошибками данной проблемы могут являться также ошибки работы с дисковой подсистемой. Такие как:
Решение:
На всех серверах 1С выполним следующие настройки лимитов открываемых файлов.
решение
Все ответы
Никогда не видел чтоб папка с 10К файлами открывалась по сети мгновенно, во всяком случае первый раз. Нормальное время для такого количества файлов где то секунд 20-30.
При аналогичном (таком же) оборудовании на сервере открытие папки происходит в разы быстрее, чем на XP SP2.
Возможно, на сервере это происходит не совсем мгновенно. Да, возможно, где-то на уровне 20 сек. Однако на XP SP2 подобное действие по сети происходит минут 5. Explorer просто жутко тормозит при открытии, Far при открытии папки начинает не спеша отсчитывать по 256 файлов.
Конструктивных мыслей нет?
Мгновенно - это наверно все же около 0 секунд. 20 секунд - это не мгновенно. А 5 минут - это действительно слишком.
Как устроена сетка? Сколько пользователей подключено к ХП с папкой? Что на ней делается? Оптимизация на программы пользователя (по умолчанию) или на сервиы (как на сервере)?
> Мгновенно - это наверно все же около 0 секунд. 20 секунд - это не мгновенно. А 5 минут - это действительно
Конкретных замеров с секундомером в руке не ставил. По ощущениям -- на сервере бывало и гораздо меньше 20 сек.
> Как устроена сетка?
Сервер 2003 Standard (AD+DHCP+DNS). Искомый XP Prof входит в домен.
> Сколько пользователей подключено к ХП с папкой?
От 1 до 10. Проблема существует независимо от количества пользователей.
> Что на ней делается?
В папке? Куча файлов xls
> Оптимизация на программы пользователя (по умолчанию) или на сервиы (как на сервере)?
Делал на сервисы. Не помогло.
брендмауер отруби на файл-сервере
и поставь сервер 2003 уже что ли ) если такие задачи . так же хочу напомнить, что к winxp одновременно могут подключиться только 10 человек.
Брандмауер включен. Однако для сетевого подключения, смотрящего в локалку, он отключен.
2003 сервер у нас есть. Однако очень хотелось эту папку иметь на XP. Покупать еще один 2003 сервер
конкретно для решения этой проблемы не хочется, пиратку ставить не будем.
Хочу напомнить, что данная проблема возникает при подключении даже одного пользователя, не говоря
уже об 10.
Вообще было бы интересно узнать у гуру, баг это или фича.
хз у меня тормоза про которые ты написал возникают при включенном брендмауере, я хз почему, хотя всё прекрасно открыто.
Я очень сильно сомневаюсь что фаервал имеет к этому отношение.
Я бы копал в сторону сети - когда я спросил "Как устроена сетка?" я имел в виду вовсе не диапазон адресов, а хабы/свичи/провода/сетевые карты.
Например, ХП имеет такую же карту что и сервер? Воткнута в тот же свич? Кабель в порядке? С какой скоростью работает интерфейс? Какая загрузка интерфейса при доступе? Что будет если поменть порт/кабель/карту? Другие компьютеры под ХП имеют ту же проблему?
Я тоже. Но для верности попробовал. Эффекта нет.
Я не думаю, что здесь дело в качестве сетевой инфраструктуры, так как:
1) На этом компе стоял 2003 сервер и все работало прекрасно. Проблема возникла после установки на этот комп XP
2) При копировании/записи файлов скорость нормальная, такая же, какая была при наличии на оном железе 2003 сервера.
Сетевые карты при переустановке с 2003 на ХР не изменились.
Посему мне кажется, что здесь какая-то проблема с индексированием или кешированием.
Как-то путем манипуляций в реестре я достиг ситуации, когда медленное открытие было только 1 раз после перезагрузки XP. В второй и последующие разы все открывалось нормально. Однако в этом случае сервис сервера на XP работал крайне нестабильно: пользователи временами не могли подключаться к шаре.
На других компах не проверял. Попробую в ближайшее время.
Еще о важности вопроса: дело в том, что в нескольких папках содержится около 70 тыс. файлов.
Если при нахождении их на сервере у клиента по сети поиск файла по маске происходит несколько секунд,
то при нахождении файлов на XP -- не менее 5 мин.
Поэтому производительность труда сильно падает :-)
В систему технической поддержки поступила заявка от пользователя, смысл которой сводился к тому, что отсутствовала возможность сохранения рабочих таблиц формата xlsx на корпоративном сетевом ресурсе, в папке департамента к которому принадлежал данный клиент. Дополнительно, самим же пользователем было установлено, что абсолютно идентичной проблемой страдает и другое офисное приложение, почтовый клиент Outlook 2010 в процессе сохранения вложений из писем по тому же самому сетевому пути, а так же и ряд других программ, в частности 1С. В чем же заключались детали инцидента? При попытке сохранения файлов на корпоративном сетевом хранилище, пользователь получал ошибку "Этот путь не существует. Проверьте правильность указания пути и повторите попытку".
Решение проблем в Интернете - сокет / файл: слишком много открытых файлов (слишком много открытых файлов)
2. Проверьте программу на наличие проблем.
Если у вас есть определенное решение для вашей программы, вы должны иметь определенную оценку верхнего предела количества открытых файлов (количества ссылок) в программе. Если вы чувствуете, что это число ненормально, используйте команду lsof -p process id> openfiles.log на первом этапе. Получите все детали занятой ручки для анализа
1) Эти файлы нужно открывать?
2) Найдите код, чтобы открыть эти файлы.
3) Выполнила ли программа запись в файл, но не закрылась нормально
4) Обменивается ли программа данными, но она не закрывается нормально (то есть отсутствует механизм завершения тайм-аута) - (например: post.releaseConnection () закрывает соединение)
Стандартизируйте, стандартизируйте и стандартизируйте при написании кода.
Диагностика
Исходя из того, что я успел понять, проводник либо другое приложение взаимодействует с сетевым ресурсом посредством стандартных системных сетевых функций ввода-вывода, которые работают с UNC-путями. С большой вероятностью данные функции используют сервис "Служба доступа к файлам и принтерам сетей Microsoft", а тот, в свою очередь, использует драйвер SMB. Допустим, перед выполнением определенных операций с файлами, гипотетический сервис осуществляет ряд проверок неких предопределенных условий. Одним из таких условий является ограничение на количество одновременно открытых файловых дескрипторов от имени удаленного пользователя. Скажем так, любой открытый сетевой (?) файл, увеличивает некий счетчик открытых файловых дескрипторов. Где задается этот лимит и какое конкретное значение имеет по-умолчанию, на текущий момент для меня остается тайной. Судя по тем немногочисленным осколкам информации, которые мне удалось обнаружить в Сети, этот лимит (начиная с Windows Vista) жестко задан в какой-то переменной ядра, скорее всего в небольшое значение (15). Тем не менее, если это предположение верно, заключим, что именно с этим ограничением и столкнулся наш пользователь, что и привело к генерации описанной выше ошибки Слишком много файлов открыто для совместного доступа. Оригинальная ошибка имеет идентификатор 36 и носит англоязычное название ERROR_SHARING_BUFFER_EXCEEDED . Но почему проблема образовалась именно сейчас, ведь на протяжении продолжительного времени работы подобных инцидентов не возникало, то есть пользователь вполне укладывался в предоставляемые системные лимиты? Вероятнее всего какая-либо служба или программа на станции пользователя, создающая собственные сессии с тем же сетевым ресурсом, от имени того же пользователя, начала "сбоить", создавая собственные сессии в избыточном количестве. В этих условиях штатное подключение пользователя к сетевому ресурсу из программ либо посредством проводника уже не укладывается в лимит. Но это всего-лишь мое предположение, основанное на простой логике и вовсе не опирающееся на глубокие знания работы сервиса "Служба доступа к файлам и принтерам сетей Microsoft", протокола SMB и других вероятных составляющих цепочки доступа к сетевому ресурсу. Однако теория есть теория, но без внутреннего знания нам остается один лишь, временем проверенный и безотказный, великий "метод тыка", имеющий отрицательным свойством своим огромное количество времени, затрачиваемое на перебор возможных вариантов решения. На определенном этапе поиска, я совсем случайно я обратил внимание на небольшой зеленого цвета значок в нижней области статуса сетевой папки.
Данный маркер говорит об использовании автономных файлов.
Автономные файлы, также известные под псевдонимом "кэширование на стороне клиента" (Client Side Caching, CSC), позволяют пользователям работать с сетевыми файлами, когда подключение к серверу недоступно или работает слишком медленно.
Функция "Автономные файлы" имеет в системе собственную одноименную службу и драйвер, которые и выполняют весь объем работ по синхронизации файлов между локальными и сетевыми версиями данных. Как оказалось, между приложением, использующим SMB для доступа к сетевым ресурсам, и клиентским SMB драйвером, имеются еще системные и сторонние драйвера различного функционала, одним из которых является драйвер автономных файлов. В случае включенной функции автономных файлов, данные от приложения сначала попадают на драйвер автономных файлов и, в зависимости от критериев скорости и доступности целевого сетевого ресурса, драйвер либо выполняет локальное кеширование данных, либо использует драйвер SMB для синхронизации с целевым сетевым ресурсом, тем самым уменьшая лимиты дескрипторов? Вот именно какой-то код синхронизации либо в самих автономных файлах, либо в драйвере SMB и вызывает подобный эффект, скорее всего где-то в коде имеется ошибка.
Хранение файлов 1С в томах на nfs-шаре Linux
Пошаговая настройка варианта хранения файлов 1С Предприятия во внешнем NFS хранилище на ОС Linux
Увеличиваем максимальное число сегментов разделяемой памяти для всей системы.
Все наши модифицированные настройки можем увидеть в конфигурационном файле /etc/sysctl.conf:
Еще можно посмотреть
Каталог статей
Ошибка: сокет / файл: слишком много открытых файлов (слишком много открытых файлов)
Буквально это означает, что количество файлов, открытых программой, слишком велико, но файлы здесь означают не только файлы, но и открытые каналы связи (например, сокеты), отслеживаемые порты и т. Д., Поэтому иногда их также можно назвать дескрипторами. (дескриптор), эту ошибку обычно можно назвать количеством дескрипторов, превышающим системный предел.
Ошибки на клиенте при подключении к серверу 1С на Linux. Часть 1
Рассмотрены ошибки при подключении к серверу 1С на Linux. Изложена методика поиска причин и путей их исправления
Увеличиваем лимит на открытые файлы для процессов 1С.
1. Отредактируем файл:
2. Перечитаем параметры:
3. Убедимся, что изменения вступили в силу. Получим pid службы:
4. По номеру pid получим значение параметра «max open files»:
Значение должно быть 65000.
Увеличиваем лимит на открытые файлы всей системы.
1. Получим значение количества файлов, которые можно открыть в нашей файловой системе:
Скорее всего, здесь мы увидим числа порядка: 97822; 65208 и т.д.
Такие пределы нас вполне устраивают.
Данное значение используем в дальнейшей настройке.
Но, если понадобится их увеличить – добавим строку настроек в конфигурационный файл /etc/sysctl.conf любым удобным способом:
2. Перечитаем параметры:
где 6500 – это то число файлов, которое нам необходимо иметь возможность открывать в нашей файловой системе.
Ошибки на клиенте при работе с сервером 1С на Linux. Часть 2
Разбор наиболее часто встречающихся ошибок при работе с 1С на Linux.
Ответы
Наверное у многих случалось так что нужно было открыть очень много файлов по сети с компьютера к примеру с Windows XP(Vista) не важно какой редакции, конкретный случай это .dbf база 1С иногда 1С открывает тысячи файлов в итоге после того как пара пра пользователей открыла несколько баз, третий пользователь не смог открыть базу с 1С , выскочила ошибка невозможно открыть таблицу такую то, связанно это с ограничением на количество одновременно открытых файлов, потому что сделав кое какие манипуляции в реестре мы это ограничение обошли, но это только для пробы , что бы удостовериться то это точно из за этого не открывается база, Так вот и вопрос какое ограничение на количество открытых файлов накладывает майкрософт на продукты XP и Vista . Может есть какое то общее ограничение?? Или же есть оганичение на количество открытых файлов в сеансе?? Я так понял что общее есть точно. Просветите пожалуйчта в этом вопросе , может кто нидь ссылку на статью даст. В Майкрософтовской поддержке на этот вопрос не ответили, однозначно сослались на ресурс support и Technet.
Странно слышать об этом в 2009 году.
Подобная проблема с 1С 7 версии возникла в 2001-02 году. Windows 98 позволяла открыть через сеть только 1024 файла. В те времена 1С 7 версии, (в зависимости от конфигурации), открывала через сеть 260-300 файлов. Через сеть могли работать трое, четвёртый на компьютере-сервере. В те времена 1С рекомендовала, тем кому нужно больше клиентов через сеть или Windows 2000 или серверные ОС. Windows 2000 Prof, а затем и XP Pro могли открывать через сеть 2048 файлов, серверные ОС не накладывают подобных ограничений явно. Ограничения зависят от "железа" сервера. После того как количество пользователей 1С 7 версии в сети превышает 5-6, использование сервера с серверной ОС становится не только необходимой но и экономически выгодной. 1С 7 версии переводится в службу терминалов сервера.
Примерно с 2004 года 1С выпустила первую компоненту 1С 8 версии. Она построена на других принципах. Там при работе через сеть открывается 5-6 файлов на все подключения. На сегодняшний день в 8 версии есть все компоненты 1С.
Используйте 8 версию 1С или серверную ОС в качестве сервера программ 1С 7 версии (лучше в терминальном режиме).
Если есть причины, препятствующие переходу на рекомендованные версии программ, пишите - обсудим.
Просмотр количества открытых файлов в текущей системе
Читайте также: