0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中的ulimit命令详解

Linux爱好者 来源:csdn 作者:恋猫大鲤鱼 2020-12-29 11:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.命令简介

ulimit 属 Shell 内建命令,用于查看或设置 Shell 以及通过 Shell 启动的进程使用系统资源的上限。限制分为软限制(当前限制)和硬限制,其中硬限制是软限制的上限值。如果应用程序在运行过程中使用的系统资源超过相应的软限制,将导致进程的终止。

由于系统资源有限,比如开启文件描述符的数量,进程堆栈的大小,CPU 时间,虚拟内存大小,等等,操作系统对每一个进程都有严格的限制。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与进程性能密不可分。这时,ulimit 可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。

2.命令格式

ulimit [-HSTabcdefilmnpqrstuvx [limit]]

其中,limit 是对指定类型资源的具体限制,参数 S 表示设置软限制,H 表示设置硬限制,当都不指定时,表示同时设置软限制和硬限制。

3.选项说明

-H 设定资源的硬限制,只有 root 用户可以操作 -S 设置资源的软限制 -a 显示目前所有资源设定的限制 -b socket 缓冲的最大值,单位 -c core 文件的最大值,单位 blocks -d 进程数据段的最大值,单位 KB -e 调度优先级上限,这里的优先级指 NICE 值。只针对普通用户进程有效 -f 当前 Shell 可创建文件总大小的上限,单位 blocks -i 被挂起/阻塞的最大信号数量 -l 可以锁住的物理内存的最大值,单位 KB -m 可以使用的常驻内存的最大值,单位 KB -n 每个进程可以同时打开的最大文件数 -p 管道的最大值,单位 block,1 block = 512 bytes -q POSIX 消息队列的最大值 -r 限制程序实时优先级,只针对普通用户进程有效 -s 进程栈最大值,单位 KB -t 最大 CPU 时间,单位 s -u 用户最多可启动的进程数目 -v 当前 Shell 可使用的最大虚拟内存,单位 KB -x 文件锁的最大数量 -T 线程的最大数量

4.常用示例

(1)查看现有系统资源限制。

ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 255112 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65536 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) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited

(2)控制进程发生段错误(Segmentation Fault)时生成 coredump 文件。

ulimit -c unlimited

(3)设置进程的栈大小没有限制。

ulimit -s unlimited

原文标题:每天一个 Linux 命令(74):ulimit 命令

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11821

    浏览量

    219595
  • 命令
    +关注

    关注

    5

    文章

    759

    浏览量

    23961

原文标题:每天一个 Linux 命令(74):ulimit 命令

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux系统这三个命令的完整功能和正确查看方法

    Linux 系统的日常运维,监控进程资源使用情况是最频繁的工作之一。当服务器 CPU 突然飙高、内存告警、或者业务响应变慢时,运维工程师首先要做的事情就是查看系统资源使用状况。top、ps、free 这三个命令几乎是每个运
    的头像 发表于 04-21 11:45 200次阅读

    Linux新手最常踩的10个命令坑介绍

    从事运维工作十余年,带过不少新人,发现有些命令错误几乎是每个Linux使用者都曾经遇到过的。这些错误轻则导致操作失败、浪费时间,重则引发数据丢失、服务中断、生产事故。本篇文章结合2026年
    的头像 发表于 04-09 10:11 217次阅读

    Kubernetes kubectl命令行工具详解

    kubectl是Kubernetes官方提供的命令行工具,作为与Kubernetes集群交互的主要接口,它通过调用Kubernetes API Server实现对集群资源的全面管理。在生产环境,运维工程师需要熟练掌握kubectl命令
    的头像 发表于 02-02 16:40 620次阅读

    Linux 下开发嵌入式必备命令速查表

    在嵌入式开发Linux系统几乎成为必备的开发环境。不管你是在做STM32、RaspberryPi、还是基于ARM的板子,熟练掌握Linux命令不仅能加快开发效率,还能让你在调试、交
    的头像 发表于 01-19 09:06 1040次阅读
    <b class='flag-5'>Linux</b> 下开发嵌入式必备<b class='flag-5'>命令</b>速查表

    Linux13个基本Cat命令示例

    和test1终端的文件。 # cat test test1 Hello everybody Hi world, 3、用 cat 命令创建文件 我们将创建一个名为test2带有以下命令的文件。 # cat
    发表于 12-26 06:09

    测试工程师都在用的Linux命令清单(建议收藏)

    作为一名工程师,熟练掌握Linux命令是基本功的基本功。无论是日常工作的系统维护,还是面试时的技术考核,Linux
    的头像 发表于 08-08 10:06 846次阅读
    测试工程师都在用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>清单(建议收藏)

    Linux基础命令which详解

    Linux系统,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发人员来说是一个非常有用的工具,可以帮助定位命令
    的头像 发表于 07-29 17:58 1072次阅读

    linux系统awk特殊字符命令详解

    Linux系统,awk 是一种非常强大的文本处理工具,能够对文本数据进行分析、格式化和筛选。利用其内置的特殊字符和操作符,用户可以实现复杂的数据处理任务。以下对一些常见的awk特殊字符和操作符
    的头像 发表于 07-28 16:38 754次阅读

    一文掌握Linux命令

    作为一名运维工程师,熟练掌握Linux命令是基本功的基本功。无论是日常工作的系统维护,还是面试时的技术考核,Linux
    的头像 发表于 07-22 15:23 744次阅读

    详解Linux网络管理的关键命令

    本文档概述了网络管理的关键命令,如ifconfig配置网络接口,ip管理路由,ping测试连通性,以及nmap进行安全扫描。还介绍了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入应用。
    的头像 发表于 07-04 11:37 1557次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>Linux</b>网络管理<b class='flag-5'>中</b>的关键<b class='flag-5'>命令</b>

    达梦数据库常用管理SQL命令详解

    达梦数据库常用管理SQL命令详解
    的头像 发表于 06-17 15:12 7682次阅读
    达梦数据库常用管理SQL<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 2202次阅读

    详解Linux系统的服务管理

    Linux,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些服务的初始化及 systemd脚本添加进去,不过此时它们并没有被启用。
    的头像 发表于 05-23 15:10 948次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>Linux</b>系统<b class='flag-5'>中</b>的服务管理

    Linux系统管理的核心概念

    在前一篇文章,我们深入探讨了Linux的文件操作命令,如cp、mv、rm,以及文本处理命令grep、wc和管道符。本文将继续深入
    的头像 发表于 05-15 17:05 839次阅读

    Linux常用命令大全

    Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、网络通信、软
    的头像 发表于 05-03 18:08 2060次阅读