Ошибка "Слишком много открытых файлов" в pdflatex - PullRequest
5 голосов
/ 11 ноября 2009

При компиляции латексного документа с 15 или около того пакетами, включающими около пяти, pdflatex выдает ошибку «слишком много открытых файлов». Все включения заканчиваются на \ endinput. Есть идеи, что может вызвать ошибку?

Ошибка, похоже, зависит от того, сколько пакетов используется (неудивительно ...); тем не менее, это не первый раз, когда я использую такое количество пакетов, хотя я никогда раньше не сталкивался с такой ошибкой.

@ axel_c: Это , а не о Linux. Как вы можете знать, а может и не знать, LaTeX также доступен на окнах (а это то, что я сейчас использую).

Ответы [ 4 ]

7 голосов
/ 12 ноября 2009

Попробуйте вставить

\let\mypdfximage\pdfximage
\def\pdfximage{\immediate\mypdfximage}

до \documentclass.

Смотрите также эти темы в списке рассылки pdftex:

0 голосов
/ 15 мая 2014

Тип

ulimit -n

, чтобы получить максимальное количество открытых файлов. Чтобы изменить его, например, на 2048, тип

ulimit -S -n 2048
0 голосов
/ 11 ноября 2009

Что эта команда дает вам:

$ ulimit -n

Вы можете увеличить его, отредактировав файл / etc / security / limit.conf .

0 голосов
/ 11 ноября 2009

Это может быть вызвано низким значением в конфигурации ядра 'max open file descriptors'. Предполагая, что вы используете Linux, вы можете запустить эту команду, чтобы узнать текущий предел:

cat /proc/sys/fs/file-max 

Если лимит низкий (скажем, 1024 или около того, который является значением по умолчанию в некоторых дистрибутивах Linux), вы можете попробовать повысить его, отредактировав /etc/sysctl.conf:

  fs.file-max = 65536

Детали могут различаться в зависимости от вашего дистрибутива Linux, но быстрый поиск в Google позволит вам легко это исправить.

...