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

优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》的更多相关文章
- 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》
优化Linux内核参数/etc/sysctl.conf sysctl <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...
- 高性能Linux服务器构建实战笔记
一. web应用篇 1 HTTP服务器Nginx 1.1 性能上.功能上.安装上与Apache对比 l 性能上占用系统资源少,支持并发高 ...
- 《高性能Linux服务器构建实战》——第1章轻量级HTTP服务器Nginx
第1章 轻量级HTTP服务器Nginx本章主要介绍Nginx的配置管理和使用.作为一个轻量级的HTTP服务器,Nginx与Apache相比有以下优势:在性能上,它占用很少的系统资源,能支持更多的并发连 ...
- 《Apache Kafka实战》读书笔记-调优Kafka集群
<Apache Kafka实战>读书笔记-调优Kafka集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.确定调优目标 1>.常见的非功能性要求 一.性能( ...
- linux运维、架构之路-Kubernetes集群部署
一.kubernetes介绍 Kubernetes简称K8s,它是一个全新的基于容器技术的分布式架构领先方案.Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部 ...
- linux运维、架构之路-Kubernetes集群部署TLS双向认证
一.kubernetes的认证授权 Kubernetes集群的所有操作基本上都是通过kube-apiserver这个组件进行的,它提供HTTP RESTful形式的API供集群内外客户端调 ...
- Linux服务器上MinIO生产部署的内核调优
#!/bin/bash cat > sysctl.conf <<EOF # maximum number of open files/file descriptors fs.file ...
- Linux运维期中架构(50台集群)
一.期中架构 二.期中架构-前端部分 三.第三阶段作业-期中架构
- linux运维、架构之路-redis集群
一.介绍 redis cluster 3.0之后的功能,至少需要3(Master)+3(Slave)才能建立集群,是无中心的分布式存储架构,可以在多个节点之间进行数据共享,解决了 ...
随机推荐
- 移动Web应用开发入门指南——兼容篇
兼容篇 兼容篇是我最想写的一部分,在这之前也总结过很多关于移动开发的兼容问题与解决方案.对于移动Web开发来说,兼容是开发重心,通常要花费30%甚至更多的时间去处理一些兼容问题,甚至时间花掉了,问题依 ...
- 安装nfs服务器
服务器和客户端都有一下操作 groupadd nginx useradd -r -g nginx nginx -s /sbin/nologin id nginx 查看nginx的id yum inst ...
- 优秀而又实用的PHP工具集锦
优秀而又实用的PHP工具集锦 浏览:1141 发布日期:2013/09/04 分类:技术分享 PHP是目前实用最为广泛的服务器端开源脚本语言之一,很多优秀的开源程序都是基于PHP构建的,比如大名鼎 ...
- oracle 内联同时删除多表
在 MySql 中,内联同时删除多表可以使用这样的语法: DELETE t1,t2 FROM table1 AS t1 INNER JOIN table2 t2 ... INNER JOIN tabl ...
- apache安装 mod_evasive
centos环境下安装 首先安装httpd-devel yum安装mod_evasive 配置mod_evasive: DOSHashTableSize 3097 #哈希表大小(无需修改) ...
- Linux+postfix+extmail+dovecot打造基于web页面的邮件系统
原文地址:http://blog.csdn.net/deansrk/article/details/6717720 最终效果图: 准备阶段:需要手动下载的软件包: postfix-2.6.5.tar. ...
- "专家来了",后天周五提测,跟组长沟通
Nsstring *str = yes ? @"hhh" : @"yyy"; 一开始图片文件夹层次结构不对, 当你把图片拖进去,就对了, 一开始没有内容,所 ...
- JdbcTemplae使用入门&&Spring三种连接池配置&&Spring配置文件引用外部properties文件
JdbcTemplate的使用 Spring为了各种支持的持久化技术,都提供了简单操作的模版和回调. JdbcTemplate 简化 JDBC 操作HibernateTemplate 简化 Hiber ...
- Qt通过QToolTip显示浮动信息
QToolTip类的应用十分简单,其QToolTip类中全都是静态方法,如果要显示浮动信息的话使用该函数即可: void QToolTip::showText ( const QPoint & ...
- input[type=checkbox]
一个问题,今天用jquery-1.11.3.min.js时遇到的关于input复选框的问题. 类似于以下代码: <ul class="demo"> <li> ...