linux ulimit 命令说明及配置

1.ulimit 说明

  • ulimit可以限制使用系统资源的范围。
  • ulimit设置项仅在当前shell起作用,永久生效可以写入相关配置文件,写入~/.profile或~/.bashrc只对当前用户持久性生效
  • 写入/etc/security/limits.conf可针对性配置,系统级持久性生效
  • 调整相关硬限制值(Hard Limit),设置一次后,以后的值只能小于上一次设置的值
  • 如果不加S或H修饰,则默认同时修改Soft Limit和Hard Limit值

2.ulimit 配置项说明

-S   Set a soft limit for the given resource(设置软资源限制,设置后可以增加,但是不能超过硬资源设置)
-H   Set a hard limit for the given resource(设置硬资源限制,一旦设置不能增加)
-a   All current limits are reported(显示当前所有的 limit 信息). 
-c   The maximum size of core files created(最大的 core 文件的大小, 以 blocks 为单位). 
-d   The maximum size of a process's data segment(进程最大的数据段的大小,以 Kbytes 为单位). 
-f   The maximum size of files created by the shell(default option,进程可以创建文件的最大值,以 blocks 为单位)
-l   The maximum size that can be locked into memory(最大可加锁内存大小,以 Kbytes 为单位). 
-m   The maximum resident set size(最大内存大小,以 Kbytes 为单位). 
-n   The maximum number of open file descriptors(可以打开最大文件描述符的数量). 
-p   The pipe buffer size(管道缓冲区的大小,以 Kbytes 为单位). 
-s   The maximum stack size(线程栈大小,以 Kbytes 为单位). 
-t   The maximum amount of cpu time in seconds(最大的 CPU 占用时间,以秒为单位). 
-u   The maximum number of processes available to a single user(用户最大可用的进程数). 
-v   The maximum amount of virtual memory available to the process(进程最大可用的虚拟内存,以 Kbytes 为单位).

3.设置示例

$ 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) 7823
    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) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 7823
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited

# 示例2:软限制设置core dump文件最大大小为2048
$ ulimit -Sc 51200

# 示例3:core dump文件大小无限制
$ ulimit -c unlimited

# 限制管道缓冲区大小为512Kbytes(KB)
$ ulimit -p 512

4.更改默认值

  • 通过配置/etc/security/limits.conf文件,可以更改ulimit的默认资源限制值(*代表对所有用户生效).
  • 注意修改完limits.conf文件后,需要重启终端才能生效,通过ulimit -a检验是否生效.
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嵌入式Linux中集成ulimit命令的方法可以通过修改内核配置文件来实现。首先,需要确保内核配置中启用了ulimit功能。可以通过查看内核配置文件中的相关选项来确认,例如在Linux内核源码树中的.config文件中搜索"ULIMIT"关键字。如果找到了相关选项并且其值为"y"或"m",则表示已启用ulimit功能。 接下来,需要重新编译内核并将其烧录到嵌入式设备中。具体的编译和烧录方法可以参考嵌入式Linux开发相关的文档和教程。 一旦内核重新编译并烧录到设备中,就可以在嵌入式Linux系统中使用ulimit命令了。ulimit命令用于设置和显示进程资源限制,可以通过ulimit命令来限制进程的资源使用,如文件打开数、内存限制等。 需要注意的是,ulimit命令的具体用法和参数可能会因不同的Linux发行版而有所差异。可以通过man ulimit命令来查看具体的用法和参数说明。 引用\[2\]提到了mread命令,这是一个mtools工具命令,用于将MS-DOS文件复制到Linux的文件系统中。虽然与ulimit命令无关,但是可以作为一个参考,说明Linux系统中存在多个命令和工具,可以根据具体需求选择合适的工具来完成相应的任务。 综上所述,嵌入式Linux集成ulimit命令的方法是通过修改内核配置文件来启用ulimit功能,并重新编译和烧录内核到嵌入式设备中。然后就可以在嵌入式Linux系统中使用ulimit命令设置和显示进程资源限制。 #### 引用[.reference_title] - *1* [linux ulimit的使用,如何产生core文件,调试段错误](https://blog.csdn.net/weixin_34307867/article/details/116737622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Linux 教程: (Linux基础+命令大全)](https://blog.csdn.net/weixin_43976257/article/details/109249238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值