初稿地址:

ulimit命令参数及用法

Linux对于每个用户,系统限制其最大进度数。为增加性能,可以按照设备资源情况,设置各linux
用户的最大进程数
可以用ulimit -a 来显示当前的各个用户进程限制。

通过ulimit -n命令能够查阅Linux系统里打开文件讲述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这么些值偏小,所以有要求重新设置linux系统里打开文件讲述符的最大值。那么应该在哪儿设置呢?

linux下安装Oracle
一般都会修改/etc/security/limits.conf这些文件,可是那其间的切实可行意思未必每个人都会,刚初步自己也不是很清除,只精通要修改,每一回安装根据文档配置就足以了。明日见到一篇小说的介绍,特记录一下,加深一下驾驭。

 

上面我把某linux用户的最大进度数设为10000个:
ulimit -u 10240
对于必要做过多 socket 连接并使它们处于打开状态的 Java 应用程序而言,
最好通过行使 ulimit -n xx 修改每个进度可打开的文本数,缺省值是 1024。
ulimit -n 4096 将每个进度可以打开的文本数量加大到4096,缺省为1024
其他提出设置成无界定(unlimited)的一部分第一设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
库房大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited
ulimit -c unlimited
  
临时地,适用于经过 ulimit 命令登录 shell 会话期间。
世代地,通过将一个遥相呼应的 ulimit 语句添加到由登录 shell 读取的文件中,
即特定于 shell 的用户资源文件,如:
1)、解除 Linux 系统的最大进度数和最大文件打开数限制:
vi /etc/security/limits.conf
# 添加如下的行
* soft noproc 11000
* hard noproc 11000
* soft nofile 4100
* hard nofile 4100
说明:* 代表针对所有用户,noproc 是代表最大进程数,nofile
是意味着最大文件打开数
2)、让 SSH 接受 Login 程式的登入,方便在 ssh 客户端查看 ulimit -a
资源限制:
a、vi /etc/ssh/sshd_config
把 UserLogin 的值改为 yes,并把 # 注释去掉
b、重启 sshd 服务:
/etc/init.d/sshd restart
3)、修改所有 linux 用户的环境变量文件:
vi /etc/profile
ulimit -u 10000
ulimit -n 4096
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited
封存后运行#source /etc/profile 使其收效
/**************************************
奇迹在先后里面须要开辟多少个文本,举行分析,系统一般默许数量是1024,(用ulimit
-a可以看看)对于正规使用是够了,不过对于程序来讲,就太少了。

最正确的做法是在/etc/security/limits.conf里安装:

linux limits.conf 配置 limits.conf 文件实际是 Linux
PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so
的配置文件,而且只针对于单个会话。

功能表达:控制shell程序的资源。 

修改2个文件。

澳门金沙国际 1

limits.conf的格式如下:

补偿表达:ulimit为shell内建命令,可用来控制shell执行顺序的资源。 

1./etc/security/limits.conf
vi /etc/security/limits.conf
加上:

[root@localhost security]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30518
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@localhost security]# ulimit -n 10240
[root@localhost security]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 30518
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 10240
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
[root@localhost security]1. 命令用法

username|@groupname type resource limit

参  数: 

  • soft nofile 65536
  • hard nofile 65536
    //有时必要加
  • soft noproc 65536
  • hard noproc 65536
  • soft nofile 65536
  • hard nofile 65536

澳门金沙国际 2

username|@groupname:设置须求被界定的用户名,组名前边加@和用户名分别。也可以用通配符*来做有所用户的限制。

-a   展现方今资源限制的设定。 

2./etc/pam.d/login
session required /lib/security/pam_limits.so
/**********
除此以外确保/etc/pam.d/system-auth文件有上边内容
session required /lib/security/$ISA/pam_limits.so
这一行确保系统会履行这些界定。

*命   令:ulimit
功   能:控制shell程序的资源
语  法:ulimitconf的连锁表达,内核参数。 [-aHS][-c <core文件上限>][-d
<数据节区大小>][-f <文件大 小>][-m
<内存大小>][-n <文件数量>][-p <缓冲区大小>][-s
<堆栈大小>][-t <CPU时间>][-u <程序数目>][-v
<虚拟内存大小>] 
   
补充表达:ulimit为shell内建命令,可用来控制shell执行顺序的资源。 
    参  数: 
    -a  显示近年来资源限制的设定。  
    -c <core文件上限>  设定core文件的最大值,单位为区块。  
    -d <数据节区大小>  程序数据节区的最大值,单位为KB。  
    -f <文件大小>  shell所能建立的最大文件,单位为区块。  
    -H  设定资源的硬性限制,也就是协会者所设下的限制。  
    -m <内存大小>  指定可拔取内存的上限,单位为KB。  
    -n <文件数量>  指定同一时间最多可打开的文书数。  
    -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。  
    -s <堆栈大小>  指定堆叠的上限,单位为KB。  
    -S  设定资源的弹性限制。  
    -t <CPU时间>  指定CPU使用时间的上限,单位为秒。  
    -u <进度数目>  用户最多可开行的长河数目。 
    -v <虚拟内存大小>  指定可利用的虚拟内存上限,单位为KB。

type:有 soft,hard 和 -,soft 指的是时下系统生效的设置值。hard
声明系统中所能设定的最大值。soft 的范围不可能比har 限制高。用 –
就标明同时安装了 soft 和 hard 的值。

-c   设定core文件的最大值,单位为区块。 

/***********

  1. 系统调优
    *

resource:

-d    <数据节区大小> 程序数据节区的最大值,单位为KB。 

3.貌似用户的.bash_profile

    如前所述, ulimit -a 用来突显当前的种种用户进度限制。 
   
Linux对于每个用户,系统限制其最大进程数。为拉长品质,可以按照设备资源气象,
    设置各linux
用户的最大进度数,上面我把某linux用户的最大进度数设为10000个: 
    ulimit -u 10000 
     对于要求做过多 socket 连接并使它们处于打开状态的 Java
应用程序而言,
     最好通过利用 ulimit -n xx 修改每个进度可打开的文书数,缺省值是
1024。 
     ulimit -n 4096
将各类进程可以打开的文件数量加大到4096,缺省为1024 
     其余指出设置成无界定(unlimited)的片段至关主要设置是: 

core – 限制内核文件的大大小小

-f     <文件大小> shell所能建立的最大文件,单位为区块。 

ulimit -n 1024

双重登陆ok

linux

     数据段长度:ulimit -d unlimited 
     最大内存大小:ulimit -m unlimited 
     堆栈大小:ulimit -s unlimited 
     CPU 时间:ulimit -t unlimited 
     虚拟内存:ulimit -v unlimited 
  
     暂时地,适用于通过 ulimit 命令登录 shell 会话时期。
     永久地,通过将一个应和的 ulimit 语句添加到由登录 shell
读取的文件中, 即特定于 shell 的用户资源文件,如: 

date – 最大数据大小

-H  设定资源的硬性限制,也就是协会者所设下的界定。 

1) 解除 Linux 系统的最大进程数和最大文件打开数限制:
        vi /etc/security/limits.conf
        # 添加如下的行
        * soft noproc 11000
        * hard noproc 11000
        * soft nofile 4100
        * hard nofile 4100 
       说明:* 代表针对所有用户
            noproc 是代表最大进度数
            nofile 是表示最大文件打开数 
2) 让 SSH 接受 Login 程式的登入,方便在 ssh
客户端查看 ulimit -a 资源限制:
        a、vi /etc/ssh/sshd_config 
             把 UserLogin 的值改为 yes,并把 # 注释去掉
        b、重启 sshd 服务:
              /etc/init.d/sshd restart
3) 修改所有 linux 用户的环境变量文件:
vi /etc/profile 
ulimit -u 10000
ulimit -n 4096
ulimit -d unlimited 
ulimit -m unlimited 
ulimit -s unlimited 
ulimit -t unlimited 
ulimit -v unlimited 

fsize – 最大文件大小

-m    <内存大小> 指定可应用内存的上限,单位为KB。

/**************************************

memlock – 最大锁定内存地址空间

-n     <文件数量> 指定同一时间最多可开启的公文数。

偶尔在程序里面要求打开三个公文,举行解析,系统一般默许数量是1024,(用ulimit -a可以看看)对于正常使用是够了,可是对于程序来讲,就太少了。
修改2个文件。
1) /etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 8192
* hard nofile 20480
2) /etc/pam.d/login
session required /lib/security/pam_limits.so
**********
其它确保/etc/pam.d/system-auth文件有上面内容
session required /lib/security/$ISA/pam_limits.so
这一行确保系统会举行那些范围。
***********
3) 一般用户的.bash_profile
#ulimit -n 1024
双重登陆ok

nofile – 打开文件的最大数额

-p     <缓冲区大小> 指定管道缓冲区的尺寸,单位512字节。

3. /proc目录:
1)/proc目录里面包蕴广大系统当下气象的参数,例如:引用
/proc/sys/fs/file-max
/proc/sys/fs/inode-max

rss – 最大持久设置大小

-s     <堆叠大小> 指定堆叠的上限,单位为KB。

是对所有种类的限量,并不是对准用户的;
2)proc目录中的值可以开展动态的装置,若希望永远生效,可以修改/etc/sysctl.conf文件,并拔取上边的通令确认:

stack – 最大栈大小

-S  设定资源的弹性限制。 

# sysctl -p

cpu – 以分钟为单位的最多 CPU 时间

-t   指定CPU使用时间的上限,单位为秒。 

譬如增添:

noproc – 进度的最大数量

-u    <程序数目> 用户最多可开启的次第数目。 

引用
fs.file-max=xxx
fs.inode-max=xxx

as – 地址空间范围

-v    <虚拟内存大小>  指定可选用的虚拟内存上限,单位为KB。

maxlogins – 此用户同意登录的最大数据

  www.2cto.com  

要使 limits.conf 文件配置生效,必须要有限扶助 pam_limits.so
文件被参预到起步文件中。查看 /etc/pam.d/login 文件中有:

ulimit -a来查阅所有限制值

session required /lib/security/pam_limits.so

 

按上边说的,可以用ulimit -n
32768设置最大描述符,不过只对当下对话有用,而且要root,那个不佳办

01

依然修改/etc/security/limits.conf,但要重启

core file size          (blocks, -c) 0

除此以外,没查到linux究竟最大描述符有没有限制,其余多少个限制要不要改

02

data seg size           (kbytes, -d) unlimited

如何界定和监视用户

03

PAM
大部分的LINUX都内建了PAM协助。PAM的一个效益是系统环境设置,例如设置某个用户同意利用的连串内存大小等。在Red
Hat和Caldera那

scheduling priority             (-e) 0

五个发行版本的 /etc/security/ 目录下富含了很多可配备文件。最有趣的当属
/etc/security/limits.conf 文件,它同意你定义用户或用户

04

组规则,规则是“软(soft)”或“硬(hard)”,规则的情节(如CPU、内存、最大文件大小等)。例如:

file size               (blocks, -f) unlimited

*    hard    core    0

05

bob    soft    nproc    100

pending signals                 (-i) 256590

bob    hard    nproc    150

06

首先行规则禁止所有人发生core文件,第二行规则(软)定义用户bob的最大进度数为100,
第三行规则(硬)定义用户bob的最大进度数为150

max locked memory       (kbytes, -l) 64

。可以高于软规则的界定(警告),但不可能领先硬规则的界定。你可以想像获得,那一个规则定义到独具用户的登录SHELL和FTP等劳务
时是很

07

有帮带的。

max memory size         (kbytes, -m) unlimited

Bash

08

Bash内建了一个限制器”ulimit”。注意任何硬限制都没办法设置得太高,由此只要你在/etc/profile或用户的
.bash_profile (用户不可能编辑或

open files                      (-n) 1024

除去这么些文件)中定义了限定规则,你就能对用户的Bash
shell实施限制。这对于缺少PAM协理的LINUX旧发行版本是很有用的。你还必须有限支撑

09

用户不能够更改她们的登录shell。限制的安装与PAM相似。例如:

pipe size            (512 bytes, -p) 8

ulimit –Sc 0

10

ulimit –Su 100

POSIX message queues     (bytes, -q) 819200

ulimit –Hu 150

11

real-time priority              (-r) 0

Ulimit命令

12

安装限制    
可以把命令加到profile文件里,也可以在/etc/security/limits.conf文件中定义

stack size              (kbytes, -s) 10240

限制。

13

一声令下参数

cpu time               (seconds, -t) unlimited

-a      彰显所有限制

14

-c      core文件大小的上限

max user processes              (-u) 80920

-d      进程数据段大小的上限

15

-f      shell所能创设的文件大小的上限

virtual memory          (kbytes, -v) unlimited

-m     驻留内存大小的上限

16

-s      堆栈大小的上限

file locks                      (-x) unlimited

-t      每秒可占用的CPU时间上限

 

-p     管道大小

动用命令ulimit -HSn 65536足以立刻生效.

-n     打开文件数的上限

 

-u     进度数的上限

ulimit -u 80920 在centos 6.2不能够立刻生效,还亟需修改

-v     虚拟内存的上限

 

除可用Ulimit命令设置外,也可以在/etc/security/limits.conf文件中定义限制。

vim /etc/security/limits.d/90-nproc.conf     原因应该是新特征

domino type item value

  www.2cto.com  

domino是以符号@伊始的用户名或组名,*代表拥有用户,type设置为hard or
soft。item指

1

定想限制的资源。如cpu,core nproc or maxlogins

# Default limit for number of user’s processes to prevent

。value是呼应的限制值。

2

# accidental fork bombs.

Unix、Linux下常用监控和管制命令工具

3

检查编写的次第打开的文书数。   

# See rhbz #432903 for reasoning.

  sysctl:突显(或设置)系统基本参数   

4

  sysctl -a 显示所有内核参数  

 

  sysctl -w 参数名=参数值   

5

  例如:sysctl -w fs.file-max=10240
设置系统允许同时打开的最大文件数为10240。   

*          soft    nproc     80920

  内核参数fs.file-nr包含三个参数值,第三个参数表示系统中曾经同时打开过的文本数峰值,
  

  

  第四个参数表示没事(分配后已放出)的文书数,   

注:/etc/security/limits.conf  

  第多少个参数表示能够打开的最大文件数,其值等于fs.file-max。   

  www.2cto.com  

  当前打开的公文数 = 第二个参数值 – 次之个参数值   

limits.conf的做事规律: 

  例如:   

  limits.conf的后端是那般工作的:limits.conf是pam_limits.so的安顿文件,然后/etc/pam.d/下的应用程序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将呼吁发送到PAM模块,PAM模块按照劳动名称在/etc/pam.d目录下抉择一个相应的服务文件,然后根据服务文件的始末选用具体的PAM模块举办处理。

  fs.file-nr = 977 223 10240   

limits.conf的格式

  当前打开的文书数 = 977 – 233 = 744   

01

  设置基本参数时必须小心,假使设置不当会导致系统万分,甚至当机。
  

#<domain> can be:

  ulimit:展现(或安装)用户能够使用的资源限制   

02

  ulimit -a 显示用户可以采取的资源限制   

#        – an user name

  ulimit unlimited
不限制用户可以动用的资源,但本设置对可打开的最大文件数(max open files)
  

03

  和可同时运转的最大进度数(max user processes)无效   

#        – a group name, with @group syntax

  ulimit -n <可以而且开辟的文本数>
设置用户可以同时打开的最大文件数(max open files)

04

  例如:ulimit -n 8192   

#        – the wildcard *, for default entry

  假使本参数设置过小,对于出现访问量大的网站,可能会现出too many open
files的不当   

05

  ulimit -u <可以运作的最大并发进度数>
设置用户可以而且运转的最大进度数(max user processes)   

#        – the wildcard %, can be also used with %group syntax,

  例如:ulimit -u 1024 

06

#          for maxlogin limit

IBM JVM for Linux on POWER 的属性调优技巧

07

用户限制设置

安装要求被限定的用户名,组名前边加@和用户名分别。也足以用通配符*来做有所用户的限制。

为了得到最佳质量,让运行 JVM
进度的用户所有经过科学配置的用户安装是很关键的。那个参数可以设置成以下三种格局之一:

08

暂时地,适用于通过 ulimit 命令登录 shell 会话时期。

#<type> can have the two values:

千古地,通过将一个应和的 ulimit 语句添加到由登录 shell
读取的文本之一(例如 ~/.profile),即一定于 shell 的用户资源文件;或者

09

由此编制 /etc/security/limits.conf。

#        – “soft” for enforcing the soft limits

提议设置成无界定(unlimited)的一部分根本设置是:

澳门金沙国际,10

数据段长度:ulimit –d unlimited

#        – “hard” for enforcing hard limits

最大内存大小:ulimit –m unlimited

11

库房大小:ulimit –s unlimited

hard 注明系统中所能设定的最大值。soft 的范围不可能比hard 限制高。
www.2cto.com  

CPU 时间:ulimit –t unlimited

12

虚拟内存:ulimit –v unlimited

#<item> can be one of the following:

对于要求做过多套接字连接并使它们处于打开状态的 Java
应用程序而言,最好通过运用 ulimit –n,或者经过设置

13

/etc/security/limits.conf 中的 nofile
参数,为用户把文件讲述符的数据设置得比默认值高一些。

#        – core – limits the core file size (KB)

提高 Oracle 用户的 shell 限制

14

/etc/security/limits.conf

           core – 限制内核文件的高低

oracle soft nproc 2047

15

oracle hard nproc 16384

#        – data – max data size (KB)

oracle soft nofile 1024

16

oracle hard nofile 65536

           date – 最大数额大小

/etc/pam.d/login

17

session required /lib/security/pam_limits.so

#        – fsize – maximum filesize (KB)

/etc/profile

18

if [ $USER = “oracle” ]; then

           fsize – 最大文件大小

if [ $SHELL = “/bin/ksh” ]; then

19

ulimit -p 16384

#        – memlock – max locked-in-memory address space (KB)

ulimit -n 65536

20

else

           memlock – 最大锁定内存地址空间

ulimit -u 16384 -n 65536

21

fi

#        – nofile – max number of open files

fi

22

           nofile – 打开文件的最大数量

23

#        – rss – max resident set size (KB)

24

           rss – 最大持久设置大小

25

#        – stack – max stack size (KB)

26

           stack – 最大栈大小

27

#        – cpu – max CPU time (MIN)

28

           cpu – 以分钟为单位的最多 CPU 时间

29

#        – nproc – max number of processes

30

           noproc – 进程的最大数目

31

#        – as – address space limit (KB)

32

           as – 地址空间范围

33

#        – maxlogins – max number of logins for this user

34

           maxlogins – 此用户同意登录的最大数额

35

#        – maxsyslogins – max number of logins on the system

36

#        – priority – the priority to run user process with

37

#        – locks – max number of file locks the user can hold

38

#        – sigpending – max number of pending signals

39

#        – msgqueue – max memory used by POSIX message queues (bytes)

40

#        – nice – max nice priority allowed to raise to values: [-20,
19]

41

#        – rtprio – max realtime priority

42

#

43

#<domain>      <type>  <item>         <value>

44

#

45

 

46

#*               soft    core            0

47

#*               hard    rss             10000

48

#@student        hard    nproc           20

49

#@faculty        soft    nproc           20

50

#@faculty        hard    nproc           50

51

#ftp             hard    nproc           0

52

#@student        –       maxlogins       4

53

 

54

# End of file

55

mysql                soft    core            2048000

56

mysql                hard    core            2048000

57

mysql                soft    nofile          819200

58

mysql                hard    nofile          819200

假定遇到“段错误”(segmentation
fault)那样的难点,那紧要就是由于Linux系统初步的仓库大小(stack
size)太小,可以选取ulimit  -s

  www.2cto.com  

core – 限制内核文件的大小 

  何谓core文件,当一个先后崩溃时,在进度当前工作目录的core文件中复制了该进程的积存图像。core文件仅仅是一个内存映象(同时加上调试音信),重如若用来调节的。
core文件是个二进制文件,需求用相应的工具来分析程序崩溃时的内存印象。 

 

nofile -打开文件的最大数目 

  对于急需做过多套接字连接并使它们处于打开状态的应用程序而言,最好通过利用
ulimit –n,或者经过设置nofile
参数,为用户把文件讲述符的数目设置得比默许值高一些

 

功效表达:控制shell程序的资源。
补充表明:ulimit为shell内建命令,可用来支配shell执行顺序的资源。 参 数:
-a 展现…

相关文章