Это происходит из-за OpenVZ. Вы видите пределы, примененные в /proc/user_beancounters
, и здесь существует некоторое объяснение: http://wiki.openvz.org/Privvmpages
Хотя у меня не было проблем памяти в контейнере, я думаю предложение здесь:
http://www.moeding.net/archives/20-Optimizing-virtual-memory-in-OpenVZ-I.html
запускаться путем установки размера стека с ulimit
хороший. Просто обратите внимание, что импликация там, что OpenVZ использует ту же метрику, поскольку Вы находите в столбце VIRT вершины, является неправильной; "privvmpages", я верю виртуальным страницам, отмеченным перезаписываемый и частный, таким образом значительно меньше, чем все адресное пространство процесса. Существует некоторая другая дезинформация там также ("К сожалению, исчерпывание памяти, состояние ошибки, которое большинству программ не удается обработать правильно". - на Linux, исчерпывая память по умолчанию не состояние ошибки, таким образом, программы не получают шанс обработать его правильно). Но записывание размера стека, вероятно, все еще стоит попробовать.
Предложение Slm походит на хорошее решение нахождения богачей, но если Ваша часть похожа на мою, существует нет /proc/bc
работать с. Можно, однако, получить перезаписываемую и частную статистику для процесса через pmap -d
, или взгляд на числа в вершине.
1 ГБ мог бы походить на достаточно для выполнения JVM, но существует сложность: так как объем памяти, используемый и доступный, не является простым числом (см. некоторое обсуждение почему здесь), общее количество может быть больше, чем машина может на самом деле обеспечить в определенный момент времени.
Я видел файлы PDF, сгенерированные при помощи Python и ReportLab. В открытой исходной версии необходимо сделать некоторое программирование для получения до вывода, но существует несколько примеров, и это должно быть просто для кого-то, кто мог обработать Техас.
То, что я не использовал, но что кажется еще более простым, должно использовать rst2pdf. Генерация/редактирование .rst
формат разметки является почти таким же как использующий ЛАТЕКС.
Существует отличная альтернатива TeX под названием troff , это стандартный инструмент Unix и реализация GNU(groff)может быть установлена в любой Linux (, если она еще не установлена ). ].
Он легкий и быстрый, может генерировать html, ps и pdf.
https://www.gnu.org/software/groff/
http://chuzzlewit.co.uk/utp_book-1.1.pdf
При использовании файла шаблона синтаксиса groff ваша команда будет:
cat template | sed s/placeholder1/somevalue1/ |sed s/placeholder2/somevalue2... | groff -T pdf > output.pdf
Что лучше записать как
sed -e 's/placeholder1/somevalue1/' \
-e 's/placeholder2/somevalue2/' \
-e... template |
groff -T pdf > output.pdf
Если ваш sed становится слишком сложным, использование инструмента-шаблона, такого как усы, может упростить задачу:
sed
. Делаетrst
дайте Вам достаточно контроля над расположением? Штопка – Timo 16.01.2014, 18:45