ulimit


:Mr.zhou  阅读: 1,001 次
ulimit [-HSTabcdefilmnpqrstuvx [limit]]
      Provides control over the resources available to the  shell  and
      to  processes started by it, on systems that allow such control.
      The -H and -S options specify that the hard or soft limit is set
      for  the  given resource.  A hard limit cannot be increased by a
      non-root user once it is set; a soft limit may be  increased  up
      to  the value of the hard limit.  If neither -H nor -S is speci-
      fied, both the soft and hard limits are set.  The value of limit
      can be a number in the unit specified for the resource or one of
      the special values hard, soft, or unlimited, which stand for the
      current  hard  limit,  the  current  soft  limit,  and no limit,
      respectively.  If limit is omitted, the  current  value  of  the
      soft  limit  of the resource is printed, unless the -H option is
      given.  When more than one resource is specified, the limit name
      and unit are printed before the value.  Other options are inter-
      preted as follows:
      -a     All current limits are reported
      -b     The maximum socket buffer size
      -c     The maximum size of core files created
      -d     The maximum size of a process’s data segment
      -e     The maximum scheduling priority ("nice")
      -f     The maximum size of files written by the  shell  and  its
     children
      -i     The maximum number of pending signals
      -l     The maximum size that may be locked into memory
      -m     The  maximum resident set size (many systems do not honor
     this limit)
      -n     The maximum number of open file descriptors (most systems
     do not allow this value to be set)
      -p     The pipe size in 512-byte blocks (this may not be set)
      -q     The maximum number of bytes in POSIX message queues
      -r     The maximum real-time scheduling priority
      -s     The maximum stack size
      -t     The maximum amount of cpu time in seconds
      -u     The  maximum  number  of  processes available to a single
     user
      -v     The maximum amount of virtual  memory  available  to  the
     shell
      -x     The maximum number of file locks
      -T     The maximum number of threads

      If limit is given, it is the new value of the specified resource
      (the -a option is display only).  If no option is given, then -f
      is  assumed.  Values are in 1024-byte increments, except for -t,
      which is in seconds, -p, which is in units of  512-byte  blocks,
      and  -T,  -b, -n, and -u, which are unscaled values.  The return
      status is 0 unless an invalid option or argument is supplied, or
      an error occurs while setting a new limit.

调优:

  文件句柄的最大数量是指打开文件在Linux系统上的最大数量。
  查看整个系统的文件句柄的最大数量:

[root@localhost ~]# cat /proc/sys/fs/file-max
10092
[root@localhost ~]#

  确定文件句柄的当前使用情况:

[root@localhost ~]# cat /proc/sys/fs/file-nr
480     0       10092
[root@localhost ~]#

  第一列 为 总分配的文件句柄
  第二列 为 当前使用的文件句柄数
  第三列 为 可分配的最大的文件句柄

  文件句柄的最大数量可以在proc文件系统中更改,而不必重新启动:

[root@localhost ~]# echo 65536 > /proc/sys/fs/file-max
[root@localhost ~]# cat /proc/sys/fs/file-max
65536
[root@localhost ~]#

  也可以使用 sysctl 更改:

[root@localhost ~]# sysctl -w fs.file-max=65535
fs.file-max = 65535
[root@localhost ~]# cat /proc/sys/fs/file-max
65535
[root@localhost ~]#

  为了使更改永久生效,添加或更改文件/etc/sysctl.conf 中以下行。在引导过程中该文件被使用。

[root@localhost ~]# echo "fs.file-max=65536" >> /etc/sysctl.conf
[root@localhost ~]# tail /etc/sysctl.conf

# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456
fs.file-max=65536
[root@localhost ~]#

转载请注明原文链接:http://www.z-dig.com/ulimit.html



正文部分到此结束