Wednesday, January 25, 2012

prlimit(1)

prlimit(1) is a new util that will be available in util-linux-2.21 (now -rc1). This new util is very nice and flexible command line interface to prlimit(2) Linux syscall (supported since Linux 2.6.36).

prlimit(1) allows to get or set one or more process resource limits for given PID. When a command is given instead of PID, prlimit(1) will run this command with the given resources.

The output is flexible like output from lsblk(8) or findmnt(8). You can define the output columns, use parsable output etc.

See the default output:
  $ prlimit --pid $$
RESOURCE DESCRIPTION SOFT HARD UNITS
AS address space limit unlimited unlimited bytes
CORE max core file size 0 unlimited blocks
CPU CPU time unlimited unlimited seconds
DATA max data size unlimited unlimited bytes
FSIZE max file size unlimited unlimited blocks
LOCKS max number of file locks held unlimited unlimited
MEMLOCK max locked-in-memory address space 65536 65536 bytes
MSGQUEUE max bytes in POSIX mqueues 819200 819200 bytes
NICE max nice prio allowed to raise 0 0
NOFILE max number of open files 1024 4096
NPROC max number of processes 1024 62809
RSS max resident set size unlimited unlimited pages
RTPRIO max real-time priority 0 0
RTTIME timeout for real-time tasks unlimited unlimited microsecs
SIGPENDING max number of pending signals 62809 62809
STACK max stack size 8388608 unlimited bytes
or redefine the output and ask for max number of open files only:
  $ prlimit  --nofile --output RESOURCE,SOFT,HARD --pid $$
RESOURCE SOFT HARD
NOFILE 1024 4096
and now let's modify the soft limit of maximal core file size and maximal number of open files:
  $ prlimit --core=1000000: --nofile=100: --pid $$
the notation used for the limits is:
  soft:hard    specify both limits
soft: specify only the soft limit
:hard specify only the hard limit
value specify both soft and hard limits to the same value
and check the result:
  $ prlimit  --nofile --core --pid $$
RESOURCE DESCRIPTION SOFT HARD UNITS
NOFILE max number of open files 100 1024
CORE max core file size 1000000 unlimited blocks
and revert the core file soft limit:
  $ prlimit --core=unlimited: --pid $$

$ prlimit --core --pid $$
RESOURCE DESCRIPTION SOFT HARD UNITS
CORE max core file size unlimited unlimited blocks
Do you want to restrict CPU time for given command (sort(1) in this example):
   $ prlimit --cpu=10 sort -u hugefile
I think prlimit(1) is much better than the shell built-in command ulimit.

Thanks to Davidlohr Bueso who found time to implement prlimit(1) for util-linux 2.21.
-- In memory of Dennis M. Ritchie

2 comments:

  1. Here at Midrepro, we pride ourselves on offering an excellent level of customer service and we always ensure that our service is always prompt and efficient. Midrepro only employs qualified engineers and we always operate to recognised service standards to maintain quality standards – so you know you’re in safe hands.

    ReplyDelete
  2. Консоли от корпорации Microsoft не сразу завоевали всемирную популярность и доверие игроков. Первая консоль под названием Xbox, вышедшая в далеком 2001 году, значительно уступала PlayStation 2 по количеству проданных приставок. Однако все изменилось с выходом Xbox 360 - консоли седьмого поколения, которая стала по-настоящему "народной" для обитателей Рф и стран СНГ - Xbox 360 прошивка LT 1.9 торрент. Веб-сайт Ru-Xbox.Ru является популярным ресурсом среди поклонников приставки, поскольку он предлагает игры для Xbox 360, которые поддерживают все существующие версии прошивок - совершенно бесплатно! Для чего играть на оригинальном железе, в случае если есть эмуляторы? Для Xbox 360 игры выходили длительное время и находятся как посредственными проектами, так и хитами, многие из которых даже сейчас остаются эксклюзивными для это консоли. Некие пользователи, желающие сыграть в игры для Xbox 360, могут задать вопрос: для чего нужны игры для прошитых Xbox 360 freeboot или различными версиями LT, в случае если есть эмулятор? Рабочий эмулятор Xbox 360 хоть и существует, однако он просит производительного ПК, для покупки которого потребуется вложить существенную сумму. К тому же, разнообразные артефакты в виде исчезающих текстур, отсутствия некоторых графических эффектов и освещения - смогут изрядно попортить впечатления об игре и отбить желание для ее дальнейшего прохождения. Что предлагает этот веб-сайт? Наш портал стопроцентно посвящен играм для приставки Xbox 360. У нас можно совсем бесплатно и без регистрации скачать игры на Xbox 360 через torrent для следующих версий прошивок консоли: - FreeBoot; - LT 3.0; - LT 2.0; - LT 1.9. Каждая прошивка имеет свои особенности обхода встроенной защиты. Поэтому, для запуска той либо прочей игры будет нужно загрузить специальную ее версию, которая на сто процентов приспособлена под одну из 4 перечисленных выше прошивок. На нашем сайте можно без усилий подобрать желаемый проект под подходящую прошивку, поскольку возле каждой игры присутствует заглавие версии (FreeBoot, LT 3.0/2.0/1.9), под которую она адаптирована. Пользователям данного ресурса доступна особая категория игр для 360-го, созданных для Kinect - специального дополнения, которое считывает все движения 1-го или нескольких игроков, и позволяет управлять с помощью их компьютерными персонажами. Большой выбор ПО Кроме возможности загрузить игры на Xbox 360 Freeboot либо LT разных версий, здесь вы можете подобрать программное обеспечение для консоли от Майкрософт: - разнообразные версии Dashboard, которые позволяют кастомизировать интерфейс консоли под свои нужды, сделав его более удобным и нынешним; - браузеры; - просмотрщики файлов; - сохранения для игр; - темы для консоли; - программы, для конвертации образов и записи их на диск. Кроме перечисленного выше игры на Xbox 360 Freeboot вы можете запускать не с дисковых, а с USB и многих других носителей, используя программу x360key, которую можно достать на нашем интернет-сайте. Гостям доступно огромное количество полезных статей, а также форум, где можно пообщаться с единомышленниками либо попросить совета у более опытных владельцев консоли.

    ReplyDelete