什么是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. 2V升3.3V芯片,输出500MA,低功耗10uA解决方案

    2V的输入电压其实非常少,一般都是镍氢电池1.2V,干电池1.5V,来给玩具,MCU单片机,模块啊,等等供电.不过2V的供电电源或者设备确实是不常见的. 一般2V升3.3V,需要升压芯片PW5100即 ...

  2. css-前端实现左中右三栏布局的常用方法:绝对定位,圣杯,双飞翼,flex,table-cell,网格布局等

    1.前言 作为一个前端开发人员,工作学习中经常会遇到快速构建网页布局的情况,这篇我整理了一下我知道的一些方法.我也是第一次总结,包括圣杯布局,双飞翼布局,table-cell布局都是第一次听说,可能会 ...

  3. uni-app开发经验分享十二: Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息

    Android平台从6.0(API23)开始系统对权限的管理更加严格,所有涉及敏感权限都需要用户授权允许才能获取.因此一些应用基础业务逻辑需要的权限会在应用启动时申请,并引导用户允许. 读写手机存储权 ...

  4. 转 9 jmeter之检查点

    9 jmeter之检查点   jmeter有类似loadrunner检查点的功能,就是断言中的响应断言. 1.响应断言(对返回文字结果进行相应的匹配)右击请求-->添加-->断言--> ...

  5. JavaScript中的深拷贝和浅拷贝!【有错误】还未修改!请逛其他园子!

    JavaScript中的深拷贝和浅拷贝! 浅拷贝 1.浅拷贝只是拷贝一层,更深层次对象级别的只拷贝引用.{也就是拷贝的是地址!简而言之就是在新的对象中修改深层次的值也会影响原来的对象!} // 2.深 ...

  6. ChannelNets: 省力又讨好的channel-wise卷积,在channel维度进行卷积滑动 | NeurIPS 2018

    Channel-wise卷积在channel维度上进行滑动,巧妙地解决卷积操作中输入输出的复杂全连接特性,但又不会像分组卷积那样死板,是个很不错的想法   来源:晓飞的算法工程笔记 公众号 论文: C ...

  7. (转载)微软数据挖掘算法:Microsoft 决策树分析算法(1)

    微软数据挖掘算法:Microsoft 目录篇 介绍: Microsoft 决策树算法是分类和回归算法,用于对离散和连续属性进行预测性建模. 对于离散属性,该算法根据数据集中输入列之间的关系进行预测. ...

  8. 目前 c++ primer学习总结笔记

    C++的开始 1 main的返回值:0为成功状态,非0为系统定义的错误类型 2 输入输出:计算结果为左侧运算对象,IO操作读写缓冲与程序中的动作无关 3 输入流istream对象:cin(标准输入): ...

  9. 【LinuxShell】cp 用法详解

    Linux cp命令主要用于复制文件或目录. -a:此选项通常在复制目录时使用,它保留链接.文件属性,并复制目录下的所有内容.其作用等于dpR参数组合. -d:复制时保留链接.这里所说的链接相当于Wi ...

  10. Java SPI 与 Dubbo SPI

    SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制.本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类.这样可以在运行时,动 ...