3

Наше веб-приложение конвертирует pdf в png, используя ghostscript. Недавно в каталоге /tmp были созданы огромные временные файлы размером более 60 ГБ. Средняя нагрузка поднялась до 18 в то время, когда этот файл был создан. Я полностью потерян на этом, и был бы очень признателен за любую помощь. Спасибо!

Деталь:

  • Ghostscript версия 8.70
  • ОС Red Hat Enterprise Linux Server 5.2 (Tikanga)
  • Файл PDF в качестве входных данных существовал на файловом сервере. Размер файла составляет около 150 МБ, 2 страницы, 445,8 x 323,2 мм, PDF 1.6 (Acrobat 7.x)
  • Проблема с nfs возникла почти одновременно с созданием файла.
  • Я не могу знать, что является основной причиной: размер файла, содержимое файла или проблема NFS.
  • Содержимое /tmp, когда файл был создан:

    ls -lh /tmp
    ...
    -rw------- 1 apache apache 39K Jan 21 17:29 gs_eNsUng
    -rw------- 1 apache apache 66G Jan 29 12:12 gs_GamtbA
    ...
    
  • Приложение выполняет команду, такую как:

    gs \
    -dSAFER \-dBATCH \
    -dNOPAUSE \
    -sDEVICE=png48 \
    -dTextAlphaBits=4 \
    -dGraphicsAlphaBits=4 \
    -dMaxStripSize=8192 \
    -dUseCropBox \
    -sOutputFile=[path of output image file] \
    [path of input pdf file]
    

2 ответа2

4

У меня возникла та же проблема с использованием Ghostscript 9.05, и я обнаружил следующую ошибку: http://bugs.ghostscript.com/show_bug.cgi?id=693121, которая написана для Ghostscript, не очищающего свои временные файлы, когда он аварийно завершается.

Наше приложение конвертирует PDF в JPG, и иногда конечные пользователи выдают нам PDF-файлы, которые не обрабатываются Ghostscript, поэтому мы планируем процесс и убиваем его, если он занимает больше времени, чем установленное время. Похоже, что нам нужно также найти и удалить временный файл в этой ситуации, пока эта ошибка не будет исправлена.

1

Во-первых, 8,70 является древним. Наш последний выпуск (в августе прошлого года) был 9.06, а релиз кандидата 9.07 вышел, а 9.07 ожидается в начале февраля (за исключением осложнений).

http://www.ghostscript.com/~chrisl/ghostscript-9.07rc1.tgz http://www.ghostscript.com/~chrisl/ghostpdl-9.07rc1.tgz

http://www.ghostscript.com/~chrisl/MD5SUM http://www.ghostscript.com/~chrisl/SHA1SUM

(ChrisL - наш координатор релизов).

-dMaxStripSize = ___ используется только для устройств tiff, а не для png * (но это не проблема)

Иногда -dBufferSpace = 32000000 (по умолчанию 4000000) немного уменьшает размер списка. Скорее всего, это была ошибка, которая была исправлена. Пожалуйста, перепроверьте текущий код.

Если это сохраняется с новым кодом, нам (Artifex) понадобится файл. В этом случае, пожалуйста, откройте ошибку на http://bugs.ghostscript.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .