什么是ulimit?

ulimit是一个可以设置或者汇报当前用户资源限制的命令。使用ulimit命令需要有管理员权限,它只能在允许使用shell进行控制的系统中使用。也就是说它已经被嵌入到shell当中了。

基本使用

ulimit

![image-20210208102652115](/Users/junyuzhang/Library/Application Support/typora-user-images/image-20210208102652115.png)

如输出所示,unlimited,当前的用户有无限的资源可以访问。意味着,当前用户可以消耗当前系统支持的所有资源。

ulimit -a

![image-20210208102704403](/Users/junyuzhang/Library/Application Support/typora-user-images/image-20210208102704403.png)

-a参数可以展示出详细的参数,即我们可以对什么资源做限制。这里的限制有两种类型:soft & hard。hard资源限制意味着是物理限制;soft资源限制是由用户进行管理的,soft的最大值由hard来限制。

系统资源被定义在了/etc/security/limits.conf的文件当中,当我们使用ulimit的时候,就是在使用这个文件里定义的值。

![image-20210208102730796](/Users/junyuzhang/Library/Application Support/typora-user-images/image-20210208102730796.png)

查看其他资源限制

ulimit -c # 查看core file文件的最大值
ulimit -d # 查看数据段的最大值
ulimit -e # 查看当前用户的最大调度优先级
ulimit -s # 当前用户的最大栈大小
ulimit -u # 当前用户的最大进程数
ulimit -v # 查看虚拟内存的大小
ulimit -b # 查看socket buffer的大小
ulimit -t # 查看每个进程允许运行的时间
ulimit -n # 查看一个进程可以最多有多少文件描述符

其他命令可通过--help查看

设置资源限制

我们通过上面的内容了解到了怎么去查看当前系统中的一些资源限制的值。现在就来看一下怎么去修改它们。

注意:对于hard限制,我们需要有root权限pip

首先进入limits.conf文件

vim /etc/security/limits.conf

按照如下的格式编辑文件

<domain> <type> <item> <value>
  1. domain可以是下面的值![image-20210208195549725](/Users/junyuzhang/Library/Application Support/typora-user-images/image-20210208195549725.png)

    • 一个特定的用户
    • 一个组
    • wildcard(* and %)
  2. type可以是下面的值

    ![image-20210208195735042](/Users/junyuzhang/Library/Application Support/typora-user-images/image-20210208195735042.png)

    • soft 限制
    • hard 限制
  3. item可以是下面的值

    ![image-20210208195822494](/Users/junyuzhang/Library/Application Support/typora-user-images/image-20210208195822494.png)

    • core:core文件大小(KB)
    • data:最大数据大小(KB)
    • fsize:最大文件大小(KB)
    • memlock:最大locked-in-memory地址空间(KB)
    • nofile:最大的open files的数目
    • rss:最大的resident set大小(KB)
    • stack:最大栈大小(KB)
    • cpu:最大cpu时间(分钟)
    • nproc:最大进程数
    • as:地址空间的限制(KB)
    • maxlogins:当前用户的最大登陆数目
    • maxsyslogins:当前系统的最大登陆数目
    • priority:跑用户进程的优先级
    • locks:用户可以持有的file locks的数目
    • sigpending:最大的pending signals的数目
    1. value就是具体的整数值

参考文献

本文内容翻译自

  1. https://linuxhint.com/linux_ulimit_command/

Linux ulimit使用的更多相关文章

  1. linux ulimit调优

    1,说明:ulimit用于shell启动进程所占用的资源.2,类别:shell内建命令3,语法格式:ulimit [-acdfHlmnpsStvw] [size]4,参数介绍:-H 设置硬件资源限制. ...

  2. LINUX ulimit命令

    概述 系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一 ...

  3. Linux ulimit 系统资源控制

    ulimit 的功能和用法 ulimit 功能简述 假设有这样一种情况,当一台 Linux 主机上同时登陆了 10 个人,在系统资源无限制的情况下,这 10 个用户同时打开了 500 个文档,而假设每 ...

  4. linux ulimit 调优

    概要:linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file-m ...

  5. Linux ulimit

    一.简介   二.语法   三.其他 1)linux下进程的进程最大数.最大线程数.进程打开的文件数和ulimit命令修改硬件资源限制 http://blog.csdn.net/gatieme/art ...

  6. Linux ulimit和动态修改MySQL最大线程数限制

    ulimit是限制进程对资源的使用但软件资源限制变化不大,特别是process/file,分别对应nproc和nofilenproc可用 ulimit -u 查询:nofile可用 ulimit -n ...

  7. 高并发下linux ulimit优化

    系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一种 l ...

  8. linux ulimit的使用,如何产生core文件,调试段错误

    ---恢复内容开始--- 下面先简单介绍下ulimit命令: 1. limit -a 可以查看系统各种资源的限制,如: core文件大小,数据段的大小等. $ ulimit -a core file ...

  9. linux ulimit具体修改服务器配置

    ulimit -a 显示当前用户的各种限制.   ulimit -n 的数值表示每个进程可以打开的文件数目.   一般情况下, ulimit -n 的数值是1024.   当进程打开的文件数目超过此限 ...

  10. Linux ulimit命令详解

    ulimit 是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制 命令常用参数 -H 设置硬资源限制. -S 设置软资源限制. -a 显示当前所有的资源限制. -c size ...

随机推荐

  1. Android之旅2

    一.动静态调试四大组件 (一).activity 一个又一个的界面,需要在manifest里面注册 (二). (三).service (四).broadcast receiver 二.开始分析 1.先 ...

  2. CTFhub刷题记录

    一 [WesternCTF2018]shrine 没什么好说的,SSTI模版注入类问题,过滤了()但是我们不慌.开始注入,{{29*3}}测试通过. 发现是jinjia2的模版注入.关键点在于没有() ...

  3. 使用smartform打印表单

    昨天写了个smartform打印表单,在开发完成,在测试机测试OK,传到生产机,出现严重问题!无法打印,干脆就是无法调用打印图形界面,进入SMARTFORM事物,查看这个表单,发现,居然公司的LOGO ...

  4. bean与map之间的转化

    import java.util.HashMap; import java.util.Map; import org.apache.commons.beanutils.BeanUtils; impor ...

  5. Spring入门及IoC的概念

    Spring入门 Spring是一个轻量级的Java开发框架,最早由Robd Johnson创建,目的为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,它是一个分层的JavaSE/EE轻量级开源 ...

  6. Java中,那些关于String和字符串常量池你不得不知道的东西

    老套的笔试题 在一些老套的笔试题中,会要你判断s1==s2为false还是true,s1.equals(s2)为false还是true. String s1 = new String("xy ...

  7. 《Effective C#》之减少装箱和拆箱

    <Effective C#>之减少装箱和拆箱_天极网 http://dev.yesky.com/msdn/359/3486359.shtml <Effective C#>之减少 ...

  8. JVM调优 jdk版本 机器配置 建议jvm参数 备注

    https://juejin.im/post/5b091ee35188253892389683 大型跨境电商JVM调优经历 前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的 ...

  9. Apache HTTP Server 映射URL到文件系统(翻译)

    div.example { background-color: rgba(229, 236, 243, 1); color: rgba(0, 0, 0, 1); padding: 0.5em; mar ...

  10. setTimeout、Promise、Async/Await 的区别

    事件循环中分为宏任务队列和微任务队列其中setTimeout的回调函数放到宏任务队列里,等到执行栈清空以后执行promise.then里的回调函数会放到相应宏任务的微任务队列里,等宏任务里面的同步代码 ...