17 / 17 / 0
Регистрация: 16.08.2010
Сообщений: 252
1

Количество дескрипторов

24.08.2011, 01:36. Показов 2439. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
ОС Ubuntu
Подскажите пожалуйста можно ли и как из самого приложения поднять именно на него ограничение на кол-во дескрипторов? 1024 не хватает, нужно около 3-х тысяч. Если никак, то где его можно увеличить?

P.S. Ядро трогать не хочу
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.08.2011, 01:36
Ответы с готовыми решениями:

счетчик дескрипторов
Здравствуйте. Вобщем накодил некую прогу, она работает и делает то что должна. Но. В диспетчера...

составление репорта дескрипторов
При составлении репорта дескрипторов нужно ли учитывать последовательность полей? (V-USB). И как...

получение дескрипторов иконок
Добрый день. Требуется помощь в решении одной проблеммы. Пишу ATL проект в VS2006, в проект...

Передача дескрипторов через STARTUPINFO
Как именно передавать дескрипторы через эту структуру дочерним процессам? Включаю флаг...

6
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
24.08.2011, 09:07 2
man setrlimit, смотреть на RLIMIT_NOFILE, обратить внимание на то, что для выхода за hard-limit (rlim_max) у процесса должен быть CAP_SYS_RESOURCE.
1
17 / 17 / 0
Регистрация: 16.08.2010
Сообщений: 252
25.08.2011, 01:33  [ТС] 3
А еще такой вопрос, как можно из приложения определить количество дескрипторов этого приложения?
Вариант с ручным подсчетом не подходит, оно слишком большое и многопоточное...
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
25.08.2011, 09:03 4
Цитата Сообщение от Union Посмотреть сообщение
А еще такой вопрос, как можно из приложения определить количество дескрипторов этого приложения?
Вариант с ручным подсчетом не подходит, оно слишком большое и многопоточное...
Простого способа нет.
Например можно посчитать файлы в /proc/self/fd/
Или сделать fcntl(i, F_GETXXX,) с i от 0 до getdtablesize()
Но все подобные извраты будут с гонками (например между итерациями readdir() или getdirentries() при чтении proc ваши потоки могут открыть/закрыть кучу дескрипторов).
Мне кажется, что атомарный счетчик будет лучшим решением, размер кода и потоки ну не разу не аргумент, даже если вы умудрились размазать открытие/закрытие файлов/сокетов/итп по сотне мест... Если все-таки вы уверены, что это не так, объясните подробнее для чего вам это вообще понадобилось.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
25.08.2011, 11:31 5
можно из приложения определить количество дескрипторов этого приложения?
Каких именно ?
Максимальное ?
Кол-во открытых ?
можно ли и как из самого приложения поднять именно на него ограничение на кол-во дескрипторов?
Можно
man sysconf

Код
       OPEN_MAX - _SC_OPEN_MAX
              The  maximum number of files that a process can have open at any
              time.  Must not be less than _POSIX_OPEN_MAX (20).
нужно около 3-х тысяч.
samba-сервер требует 16384
И ничего - ему дают

где его можно увеличить?
P.S. Ядро трогать не хочу
Путем настройки системы - то есть через ядро можно увеличить
0
545 / 222 / 72
Регистрация: 01.03.2011
Сообщений: 622
25.08.2011, 12:15 6
Цитата Сообщение от odip Посмотреть сообщение
можно ли и как из самого приложения поднять именно на него ограничение на кол-во дескрипторов?
Можно
man sysconf
Покажи плиз на примере как через sysconf() сделать отквченное?
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
25.08.2011, 12:39 7
Цитата Сообщение от prik Посмотреть сообщение
Покажи плиз на примере как через sysconf() сделать отквченное?
Ни как не сделать, odip глупость написал. sysconf(_SC_OPEN_MAX) возвращает rlim_cur от getrlimt(RLIMIT_NOFILE,)
1
25.08.2011, 12:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2011, 12:39
Помогаю со студенческими работами здесь

Вывод дескрипторов процесса в окна
Нужно вывести дескрипторы процесса из структуры: typedef struct _PROCESS_INFORMATION { ...

Выделение контуров на основе дескрипторов Фурье
Доброго времени суток! Требуется ваша помощь, уже имеется кусок программы в котором благополучно...

Получить список Дескрипторов диалогового окна
Доброго времени суток :) Не знаю как правильно задать вопрос :( Но смысл в том что есть функция...

Демонстрация работы ссылок, указателей или дескрипторов
Нужна помощь. Есть у кого готовый код, который демонстрирует работу указателей, ссылок или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru