iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >怎么查看Linux下的一些资源限制
  • 302
分享到

怎么查看Linux下的一些资源限制

2023-06-15 11:06:39 302人浏览 安东尼
摘要

本篇内容主要讲解“怎么查看linux下的一些资源限制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么查看Linux下的一些资源限制”吧! 前言在我们写程序的时候往往都没有注意到一些系

本篇内容主要讲解“怎么查看linux下的一些资源限制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么查看Linux下的一些资源限制”吧!

 前言

在我们写程序的时候往往都没有注意到一些系统资源的临界值,然而这些临界值在有的时候会把我们害的很惨,比如一个忘掉关闭的文件描述符,比如malloc竟然会返回错误,又或者是爆栈,我们该如何解决或者说预防这些问题呢?

以下实验仅在本机的系统环境下生效:

怎么查看Linux下的一些资源限制

用户层面资源限制

ulimit 命令可以查看用户层面的系统资源限制。这是在 /etc/security/limits.conf 的描述:

-----------------------------------------------------

该文件为通过PAM登录的用户设置资源限制。

它不会影响系统服务的资源限制。

还要注意 /etc/security/limits.d 目录中的配置文件,以字母顺序阅读的内容,请覆盖此设置域相同或更具体的情况下使用文件。

例如,这意味着在此处设置通配符域的限制可以使用配置文件中的通配符设置覆盖子目录,但此处的用户特定设置只能被覆盖在子目录中具有特定于用户的设置。

-----------------------------------------------------

所以 ulimit 的确是观察用户层面的资源限制。

我们可以通过 ulimit -a 查看我们所有的资源上限:

怎么查看Linux下的一些资源限制

只说其中我们比较关注的那些:

-s 栈大小:8MB

-u 进程上限:30000多

-n 文件描述符上限:1024

同时你可以用ulimit -Ha或ulimit -Sa查看硬限制和软限制,硬限制是指对资源节点和数据块的绝对限制,由 root 用户设置硬限制。虽然其他用户可以降低硬限制,但只有 root 用户可以增加硬限制。至于软限制,网上资料也没有说什么,大概就是非root用户不能超过软限制,但是非root用户可以做的是将其软限制增加到其硬限制。

我们的服务器程序可能有打开超过1024个文件描述符,有没有办法修改这些资源的上限呢?

怎么查看Linux下的一些资源限制

E.g. ulimit -n 1024可以修改系统对文件描述符的限制,不过是临时当前的shell生效的,如果你使用which ulimit你会发现ulimit是一个shell built-in command的脚本。

我们应该修改 /etc/security/limits.conf 去让我们的修改永久生效。(需要重新启动,可能有直接加载配置的方法,暂时不知道)

实验1. 修改文件描述符上限

在/etc/security/limits.conf中添加以下片段:

怎么查看Linux下的一些资源限制

重启后,然后查看一下资源是否真的被修改了:

怎么查看Linux下的一些资源限制

说明修改成功。那么现在我们测试下我们的程序能否打开这么多个文件描述符?做个小测试,下面就是打开10240个临时文件,这里我们期待错误 EFILE:

怎么查看Linux下的一些资源限制

接着我们看一下结果:

怎么查看Linux下的一些资源限制

在修改之前是ulimit的默认值是1024,然后测试出的最大打开文件描述符的数量是1001,现在是修改为10240后可以打开10217个文件描述符,实验成功。然后我们能打开的总数为什么不是刚好10240呢?这个问题是因为程序自身打开了一些文件或是加载了一些动态库,stdin/stdout/stderr,以及 /etc/ld.so.cache,/usr/lib/libm.so.6,/usr/lib/libstdc++.so.6...

实验2. 修改栈空间上限

同样还是在/etc/security/limits.conf添加这样两句:

怎么查看Linux下的一些资源限制

然后在c程序中测试栈帧的上限:

怎么查看Linux下的一些资源限制

程序正常。将栈调到临界值:

怎么查看Linux下的一些资源限制

程序发生段错误。

怎么查看Linux下的一些资源限制

但这里也只能保守的说:调整以后的一个进程的栈空间大概在 8192000B 这附近。

系统层面资源限制

单个进程打开文件句柄数上限 最大文件描述符数 10亿。

怎么查看Linux下的一些资源限制

系统分配的pid上限是400多万。

怎么查看Linux下的一些资源限制

file-max是在内核级别强制执行的最大文件描述符(FD),上限600万。

怎么查看Linux下的一些资源限制

已分配的文件文件描述符数,已分配但未使用的文件描述符数以及最大文件描述符数(不可调)。

怎么查看Linux下的一些资源限制

系统全局的总线程数限制为6万。

怎么查看Linux下的一些资源限制

单个程序所能使用内存映射空间的数量为6万。

怎么查看Linux下的一些资源限制

可以创建的线程的总数和这些有关:

怎么查看Linux下的一些资源限制

一个进程的资源限制

怎么查看Linux下的一些资源限制

redis中文件描述符上限的调整

你觉得资源限制和你没有关系?在你打开 Redis-server 的时候,难道就没有注意到这样的一段:

Increased maximum number of open files to 10032 (it was originally set to 1024).

其含义就是将文件描述符从默认的上限调整到10032,为了适应更多的网络连接。

源码中也不过是调用了api:

setrlimit(RLIMIT_NOFILE,&limit)

去进行了资源上限的临时调整,此处不细讲。

prlimit

最后介绍另外一个类似ulimit的命令prlimit:

怎么查看Linux下的一些资源限制

结语

linux的资源限制不能说很奇妙吧,但确实值得做linux服务端编程程序员们需要注意,同时我们可以通过在 /etc/security/limits.conf 去修改资源的上限。忽然想到上次问学长:为什么linux下需要对这些资源进行限制?都调整为ulimited不是很好么?

可以说我们的linux机器之所以限制这些资源的上限,是希望我们能够充分利用它,把它的性能发挥到极致,而不是让CPU或者文件等资源在那里闲置着,浪费计算机的生命。

到此,相信大家对“怎么查看Linux下的一些资源限制”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么查看Linux下的一些资源限制

本文链接: https://www.lsjlt.com/news/280152.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么查看Linux下的一些资源限制
    本篇内容主要讲解“怎么查看Linux下的一些资源限制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么查看Linux下的一些资源限制”吧! 前言在我们写程序的时候往往都没有注意到一些系...
    99+
    2023-06-15
  • 怎么查看Linux下系统资源占用情况
    本篇内容主要讲解“怎么查看Linux下系统资源占用情况”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么查看Linux下系统资源占用情况”吧!CPU的信息。当有...
    99+
    2024-04-02
  • linux怎么查看资源占用率
    要查看Linux系统的资源占用率,可以使用以下命令:1. 使用top命令:在终端中输入top命令,会显示系统的实时资源占用情况,包括...
    99+
    2023-10-20
    linux
  • Linux下如何查看系统资源占用
    这篇文章主要介绍了Linux下如何查看系统资源占用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、总体内存占用的查看命令:free图1 free命令查看内存占用(1) fr...
    99+
    2023-06-27
  • 查看Linux下系统资源占用的常用命令
    本篇内容主要讲解“查看Linux下系统资源占用的常用命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“查看Linux下系统资源占用的常用命令”吧!一,top命令作用top命令用来显示执行中的程序...
    99+
    2023-06-13
  • Linux下怎么查看文件权限
    小编给大家分享一下Linux下怎么查看文件权限,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁...
    99+
    2023-06-27
  • linux中怎么查看各硬件资源信息
    本篇内容主要讲解“linux中怎么查看各硬件资源信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中怎么查看各硬件资源信息”吧!1.显卡信息  dmesg | grep -i vga ...
    99+
    2023-06-13
  • Linux下如何查看哪些进程占用的CPU内存资源最多
    转自:https://www.cnblogs.com/sparkbj/p/6148817.htmllinux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|so...
    99+
    2023-06-06
  • Docker资源限制Cgroup怎么使用
    这篇文章主要介绍“Docker资源限制Cgroup怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker资源限制Cgroup怎么使用”文章能帮助大家解决问题。1.Cgroup简介_cgr...
    99+
    2023-07-02
  • 怎么查看docker容器使用的资源
    这篇文章将为大家详细讲解有关怎么查看docker容器使用的资源,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在容器的使用过程中,如果能及时的掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的。幸...
    99+
    2023-06-07
  • Linux下怎么查看16进制文件
    这篇文章给大家分享的是有关Linux下怎么查看16进制文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.使用VI 或者 VIM命令状态下:%!xxd --将当前文本转换为16进制格式。:%!od --将当前文...
    99+
    2023-06-12
  • 怎么查看ubuntu系统资源占用
    这篇文章主要讲解了“怎么查看ubuntu系统资源占用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么查看ubuntu系统资源占用”吧!查看ubuntu的资源占用的命令为$: toptop命...
    99+
    2023-06-13
  • Linux下怎么查看文件权限、修改文件权限
    本篇内容主要讲解“Linux下怎么查看文件权限、修改文件权限”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么查看文件权限、修改文件权限”吧!查看权限命令查看目录的相关权限可以采用命...
    99+
    2023-06-13
  • Linux下怎么查看IP
    这篇文章将为大家详细讲解有关Linux下怎么查看IP,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法 1 的 4:使用Ubantu(乌班图)界面**右键点击通知区域里的网络图标。**在大多数乌班图系统里...
    99+
    2023-06-27
  • linux怎么查看文件权限
    要查看文件的权限,可以使用`ls -l`命令。这个命令会显示文件的详细信息,包括文件的权限。例如:```$ ls -l myfile...
    99+
    2023-09-14
    Linux
  • Linux下怎么查看进程
    这篇文章主要为大家展示了“Linux下怎么查看进程”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下怎么查看进程”这篇文章吧。方式一:ps auxps命令用于报告当前系统的进程...
    99+
    2023-06-27
  • 利用docker怎么对容器资源进行限制
    利用docker怎么对容器资源进行限制?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。内存限制Docker 提供的内存限制功能有以下几点:容器能使用的内存和交换分区大小。容器的核...
    99+
    2023-06-07
  • 怎么查看Linux哪些用户拥有sudo权限
    本篇内容主要讲解“怎么查看Linux哪些用户拥有sudo权限”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么查看Linux哪些用户拥有sudo权限”吧!1. 前言本教程将讲解如何查看Linux...
    99+
    2023-06-16
  • Linux中工作管理与系统资源的查看方法
    这篇文章主要介绍“Linux中工作管理与系统资源的查看方法”,在日常操作中,相信很多人在Linux中工作管理与系统资源的查看方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中工作管理与系统资源的查...
    99+
    2023-06-16
  • k8s怎么查看pod内部资源使用情况
    可以使用以下命令来查看pod内部资源的使用情况: 使用kubectl top命令来查看pod的CPU和内存使用情况: kubec...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作