Systemd设置ulimit的方式与方法


摘要

Linux安装完成之后前面几件事情一般是处理selinux 以及处理ulimit
其实处理文件打开数有多种方法,之前也总结过, 但是最近因为systemd部署的服务问题
有一些疑惑 所以想着一起进行一下总结

ulimit持久化参数的设置

一般处理ulimit可以修改配置文件
vim /etc/security/limit.conf
可以增加上如下信息
* hard nofile 65536
* hard nproc 65536
* soft nofile 65536
* soft nproc 65536 # 需要注意: * 代表任意用户, 这样其实会扩大非特权用户的打开文件数.
如果确定是那些用户,可以讲用户名替换到 * 上面来.
# 注意修改完最后是重启一下机器

ulimit临时处理

如果有时候无法重启服务 可以使用如下命令进行处理

ulimit -HSn 65536
或者是
ulimit -HSn unlimited
也可以, 如果实在不想重启服务器进行处理
可以在程序启动脚本的最前方增加上这条命令也可以实现扩展的效果.

Systemd服务时的处理.

很多时候可以将产品作为 systemd控制的服务来运行.
此时需要编写 service文件
但是经常会发现
service 方式运行的环境不受ulimit 命令的参数结果来处理.
这种情况下有两种方式进行优化:
1. 修改全局配置文件.
2. 修改单独一个服务的配置文件.

Systemd全局服务处理

/etc/systemd/user.conf
增加: DefaultLimitNOFILE=1048576
/etc/systemd/system.conf
增加: DefaultLimitNOFILE=2097152
也可以在配置文件的 .d 目录下增加配置文件
/etc/systemd/system.conf.d/limits.conf
[Manager]
DefaultLimitNOFILE=1048576:2097152
DefaultLimitNPROC=262144:524288 然后执行 systemctl daemon-reload 就可以刷新生效
这种方式学习自:
https://unix.stackexchange.com/questions/366352/etc-security-limits-conf-not-applied/370652#370652

修改单独服务的配置文件.

有时候没有权限修改,或者是不想修改影响过大
可以单独修改一个微服务的设置:
# 需要在 Service下面添加设置
[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
然后执行
systemctl daemon-reload
执行
systemctl restart someapp
就可以了.

总体建议

修改systemd服务时建议同步修改 security的配置文件
避免两者去最小值导致环境运行异常.

Systemd设置ulimit的方式与方法的更多相关文章

  1. intellj idea 如何设置类头注释和方法注释

    intellj idea 如何设置类头注释和方法注释           intellj idea的强大之处就不多说了,相信每个用过它的人都会体会到,但是我们也会被他的复杂搞的晕头转向,尤其刚从ecl ...

  2. 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)

    原文:微信JS-SDK"分享信息设置"API及数字签名生成方法(NodeJS版本) 先上测试地址以示成功: 用微信打开下面地址测试 http://game.4gshu.com/de ...

  3. systemd设置静态IP

    /********************************************************************************* * systemd设置静态IP * ...

  4. 二十七、详述 IntelliJ IDEA 设置 Sublime 代码颜色的方法

    相信很多同学在使用 Sublime 时,看到那些五颜六色的代码感觉爽的不行,而反过来,再来看 IntelliJ IDEA 默认的代码颜色就感觉有些不爽啦!实际上,我们是可以通过「导入设置」的方式,来设 ...

  5. 【转载】图解MySQL MSI方式安装方法

    ********************************** 后来发现图片是百度的被封了.有空再换下吧. 一般百度经验这样的链接是不会失效的,大家可以百度查看. *************** ...

  6. Qt 设置背景图片3种方法(三种方法:QPalette调色板,paintEvent,QSS)

    方法1. setStylSheet{"QDialog{background-image:url()"}}  //使用styleSheet 这种方法的好处是继承它的dialog都会自 ...

  7. linux环境变量设置错误后的恢复方法(转)

    原文: http://blog.csdn.net/hoholook/article/details/2793447 linux环境变量设置错误后的恢复方法 中国自学编程网收集整理  发布日期:2008 ...

  8. Python+Selenium自动化-设置等待三种等待方法

    Python+Selenium自动化-设置等待三种等待方法   如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...

  9. IIS7.5使用web.config设置伪静态的二种方法

    转自 网上赚钱自学网 .http://www.whosmall.com/post/121 近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现.这两 ...

  10. idea如何设置类头注释和方法注释

    CSDN 2016博客之星评选结果公布      [系列直播]算法与游戏实战技术      "我的2016"主题征文活动 详细:idea如何设置类头注释和方法注释 标签: idea ...

随机推荐

  1. 【DevCloud · 敏捷智库】暴走在发布前夜的开发,你怕不怕?

    摘要:每个月都有2天开发团队要通宵熬夜,大家苦不堪言.有个别的开发同学,骂完公司骂同事,骂完同事骂客户的,甚至连自己都不放过-- 来自一个CEO的叙述 在一次企业交流会上,一个公司的CEO提道,&qu ...

  2. 云原生2.0时代,华为云DevOps立体运维实践

    摘要:随着云原生2.0时代的来临,越来越多的企业及个人选择使用云原生技术来构建业务,云原生技术给业务构建.交付带了便利的同时,对运维也提出了更高的要求. 2020年12月,中国DevOps社区峰会在北 ...

  3. 教你3种Kafka的指定副本作为Leader的实现方式

    摘要:因为在我们实际的运维过程中,需要指定某个副本为ISR,但是Kafka中的Leader选举策略并不支持这个功能,所以需要我们自己来实现它. 本文分享自华为云社区<Kafka的指定副本作为Le ...

  4. SDK设计与封装:从基础概念入门到架构设计落地笔记

    什么是 SDK? SDK 全称 Software Development Kit,广义上的 SDK 是为特定的软件包.软件框架.硬件平台.操作系统等建立应用程序时所使用的开发工具的集合(在 iOS 项 ...

  5. 用 docker 部署 folkmq 消息中间件

    docker run -p 18602:18602 -p 8602:8602 noearorg/folkmq-server:1.0.19

  6. LinkedBlockingQueue实现的生产者和消费者模型

    首先 LinkedBlockingQueue 是线程安全的阻塞队列,LinkedBlockingQueue实现的生产者和消费者模型 阻塞队列与我们平常接触的普通队列(LinkedList或ArrayL ...

  7. deepin15.11系统使用罗技k380键盘

    罗技k380键盘官方支持安卓.windows.macos,就是没有支持Linux系统.在开发过程中使用的是Deepin15.11系统,如何连接罗技k380就是一个问题,折腾了一段时间后解决这个问题.记 ...

  8. shell 脚本之一键部署安装 Nginx

    今天咸鱼给大家分享个源码编译安装 Nginx 的 shell 脚本 这个 shell 脚本可重复执行 完整源码放在最后 定义一个变量来存放 nginx 版本号 version=1.15.4 nginx ...

  9. 云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单

    为了让企业和开发者更快速.便捷地进行云上开发,阿里云重磅发布云工作流(CloudFlow),它是一款强大的面向开发者的流程编排开发工具,全托管.高并发.高可用,帮助用户简化和自动化复杂的云上业务流程和 ...

  10. vue学习笔记 二、环境搭建+项目创建

    系列导航 vue学习笔记 一.环境搭建 vue学习笔记 二.环境搭建+项目创建 vue学习笔记 三.文件和目录结构 vue学习笔记 四.定义组件(组件基本结构) vue学习笔记 五.创建子组件实例 v ...