什么是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. Linux下Too many open files问题排查与解决

    作者: Grey 原文地址: Github 语雀 博客园 Too many open files是Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的 ...

  2. linux总线

    编写驱动程序: 1 #include <linux/init.h> 2 #include <linux/module.h> 3 #include <linux/devic ...

  3. 大促密集,CDN如何保障电商体验如丝般顺滑?

    简介: 前不久,阿里云技术天团空降CSDN在线峰会,对核心技术竞争力进行解读.其中,阿里云高级技术专家曾福华分享了<双11: CDN如何保障电商大促如丝般顺滑>的议题.俗话说:养兵千日,用 ...

  4. kafka项目经验之如何进行Kafka压力测试、如何计算Kafka分区数、如何确定Kaftka集群机器数量

    @ 目录 Kafka压测 Kafka Producer(生产)压力测试 Kafka Consumer(消费)压力测试 计算Kafka分区数 Kafka机器数量计算 Kafka压测 用Kafka官方自带 ...

  5. spring data JPA 使用EntityentiListeners实现数据审计功能设计

    当系统中有审计需求时,特别是需要对某些数据进行动态监控时,我们可以使用EntityentiListeners来实现,当然这是基于使用JPA而不是mybatis的情况下. 当前我们的需求场景: 1.需要 ...

  6. 当Vue可视化工具创建不了项目时的解决办法!

    当Vue可视化工具创建不了项目时的解决办法! 当你尝试用可视化工具创建一个Vue的项目的时候,报错, 出现什么indexOf什么什么的错误! 我的解决办法是把可视化工具删除掉,重新下载! 如果你是 n ...

  7. JavaScript 实现排序算法

    参考文章: 十大经典排序算法动画,看我就够了! 1. 冒泡排序 思路 比较所有相邻元素,如果第一个比第二个大,则交换它们 一轮下来,可以保证最后一个数是最大的 执行n-1轮,就可以完成排序 代码 Ar ...

  8. Before you launch a goroutine, know when it will stop The Zen of Go

    The Zen of Go https://the-zen-of-go.netlify.app/ Ten engineering values for writing simple, readable ...

  9. .NET并发编程-函数式编程

    本系列学习在.NET中的并发并行编程模式,实战技巧 函数式编程 和面向过程编程POP(procedure oriented Programming)面向对象编程OOP(object oriented ...

  10. LOJ10021 Addition Chains

    题目描述 原题来自:ZOJ 1937 已知一个数列 A0,A1,A2,A3,...,Am(其中A0=1,Am=n,A0<A1<A2<A3<...<Am ).对于每个 k, ...