优化系统资源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选项表

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

  1. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》

    优化Linux内核参数/etc/sysctl.conf  sysctl  <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...

  2. 高性能Linux服务器构建实战笔记

    一.            web应用篇 1           HTTP服务器Nginx 1.1          性能上.功能上.安装上与Apache对比 l  性能上占用系统资源少,支持并发高 ...

  3. 《高性能Linux服务器构建实战》——第1章轻量级HTTP服务器Nginx

    第1章 轻量级HTTP服务器Nginx本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连 ...

  4. 《Apache Kafka实战》读书笔记-调优Kafka集群

    <Apache Kafka实战>读书笔记-调优Kafka集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.确定调优目标 1>.常见的非功能性要求 一.性能( ...

  5. linux运维、架构之路-Kubernetes集群部署

    一.kubernetes介绍        Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...

  6. linux运维、架构之路-Kubernetes集群部署TLS双向认证

    一.kubernetes的认证授权       Kubernetes集群的所有操作基本上都是通过kube-apiserver这个组件进行的,它提供HTTP RESTful形式的API供集群内外客户端调 ...

  7. Linux服务器上MinIO生产部署的内核调优

    #!/bin/bash cat > sysctl.conf <<EOF # maximum number of open files/file descriptors fs.file ...

  8. Linux运维期中架构(50台集群)

    一.期中架构 二.期中架构-前端部分 三.第三阶段作业-期中架构

  9. linux运维、架构之路-redis集群

    一.介绍            redis cluster 3.0之后的功能,至少需要3(Master)+3(Slave)才能建立集群,是无中心的分布式存储架构,可以在多个节点之间进行数据共享,解决了 ...

随机推荐

  1. IIS7 Appcmd.exe 使用

    如果您运行的是 64 位 Windows,请从 %windir%\system32\inetsrv 目录而不是 %windir%\syswow64\inetsrv 目录中使用 Appcmd.exe. ...

  2. Coremail邮件系统存储型XSS两个

    (1):Coremail邮件系统存储型XSS之一 给受害者发送主题如下的邮件: <svg onload='img=new Image();img.src="//x55.me/geo.p ...

  3. PB 简单笔记!

    1.总体说明: a) 程序不区分大小写 b) 赋值用=  –String city=“南京”,country ;Integer  person[3]={3,8,9};String s = ' You ...

  4. github 向导/介绍

    环境:windows 7 64bit 阅读了http://guides.github.com的教程. 流程 git是协作版本管理的一种方法.工作流程是在一个主线基础上发展分支(branch),最后并入 ...

  5. 合金装备V 幻痛 制作技术特辑

    合金装备V:幻痛 制作特辑 资料原文出自日版CGWORLD2015年10月号   在[合金装备4(Metal Gear Solid IV)]7年后,序章作品[合金装备5 :原爆点 (Metal Gea ...

  6. HTML: 用表格畫出課程表

    這個知識點,常常被我忽略,而且誤解(其實不是我誤解),曾經一個公司的要求:不使用table,一律用div,即使是整齊的,能夠使用table輕鬆佈局出的樣式,也一定要用div. 可能這傢伙沒搞清楚,ta ...

  7. linux下利用curl监控网页shell脚本

    #!/bin/bash smail() {mail -s "$1" gjw_apparitor@gmail.com <<EOF$1$2====report time: ...

  8. hiho47 : 拓扑排序·一

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 由于今天上课的老师讲的特别无聊,小Hi和小Ho偷偷地聊了起来. 小Ho:小Hi,你这学期有选什么课么? 小Hi:挺多的,比 ...

  9. java 强制转换

    在java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...

  10. 浅析Android中的消息机制(转)

    原博客地址:http://blog.csdn.net/liuhe688/article/details/6407225 在分析Android消息机制之前,我们先来看一段代码: public class ...