zoukankan      html  css  js  c++  java
  • 优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》

    优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》


    假设有这样一种情况,一台Linux 主机上同时登录了10个用户,在没有限制系统资源的情况下,这10个用户同时打开了500个文档,而每个文档的大小为10MB,这时系统的内存资源就会受到巨大的挑战。如果没有内存方面的限制,势必造成系统资源利用的混乱。而实际的应用环境要比这种假设复杂得多。这时,ulimit就派上用场了。ulimit是一种简单并且有效的实现资源限制的方式。

    ulimit可以限制系统的各个方面,它通过限制shell启动进程所占用的资源,来完成对系统资源的合理利用和分配。ulimit支持对以下内容进行限制:所创建的内核文件的大小、内存锁住的大小、常驻内存集的大小、进程数据块的大小、打开文件描述符的数量、shell进程所能使用的最大虚拟内存、shell 进程创建文件的大小、分配堆栈的最大值、单个用户的最大线程数和CPU 时间等。同时,它还支持对硬资源和软资源的限制。

    ulimit有临时限制和永久限制两种实现方式。临时限制可以限制通过命令行登录的shell会话(.bashrc),并在会话终止时结束限制,而不影响与其他shell会话。对于永久限制,ulimit命令可以将ulimit命令添加到有登录shell的配置文件中,这样就实现了对shell启动进程所占用的资源的永久限制。

    ulimit使用格式如下:

    ulimit [options] [value]
    options 中可设置的选项的含义以及简单示例如表2-7所示。

    表2-7 options 中可设置的选项的含义及示例

     
    在了解了ulimit的含义和用法以后,接下来就可以针对Varnish系统进行相关的设定。这里的参数设定值如下(此值不能一概而论,需要根据应用环境的不同,选择适合的值)。
    ulimit -HSn 131072    #文件描述符为131072     软硬都开启
    ulimit -HSc unlimited   #core文件大小不限制       软硬都开启
    为了保证这个限制永久生效,最好将ulimit设置放到Varnish的启动脚本中。


    ulimit 针对shell
    临时-》看存放位置,针对某用户
    永久-》针对所有用户

    登录/非登录
    交互/非交互

    最好放在rc.local 

    ulimit选项表

  • 相关阅读:
    Docker容器启动时初始化Mysql数据库
    使用Buildpacks高效构建Docker镜像
    Mybatis 强大的结果集映射器resultMap
    Java 集合排序策略接口 Comparator
    Spring MVC 函数式编程进阶
    换一种方式编写 Spring MVC 接口
    【asp.net core 系列】6 实战之 一个项目的完整结构
    【asp.net core 系列】5 布局页和静态资源
    【asp.net core 系列】4. 更高更强的路由
    【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/5175483.html
Copyright © 2011-2022 走看看