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. 想做DBA,多租户管理你一定要知道这些

    摘要:多租户为满足客户混合负载处理需求而生,通过提供两层用户机制,分层资源隔离,满足客户对计算和存储资源的自主控制需求. 本文分享自华为云社区<关于GaussDB(DWS)多租户管理,这些你一定 ...

  2. CANN AICPU算子耗时分析及优化探索

    摘要:本文以GreaterEqual作为测试算子,该算子计算逻辑较为简单(output = input1 >= input2),旨在尽可能降低计算耗时,使得算子耗时尽可能以数据操作和算子调度作为 ...

  3. XEngine:深度学习模型推理优化

    摘要:从显存优化,计算优化两个方面来分析一下如何进行深度学习模型推理优化. 本文分享自华为云社区<XEngine-深度学习推理优化>,作者: ross.xw. 前言 深度学习模型的开发周期 ...

  4. HIVE报错 need to specify partition columns because the destination table is partitioned

    解决 分区需要指定分区 insert into table XXX partition(分区='')

  5. CentOS7安装maven,mvn clean -DskipTests package

    1.JAVA_HOME 首先确保正确安装并配置了JAVA_HOME 我这里安装了jdk1.8 2.下载maven 3.6.3 wget https://mirrors.tuna.tsinghua.ed ...

  6. LAS Spark+云原生:数据分析全新解决方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数据规模的迅速增长和数据处理需求的不断演进,云原生架构和湖仓分析成为了现代数据处理的重要趋势.在这个数字化时代 ...

  7. Solon 1.6.29 发布,轻量级应用开发框架

    关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web.Data.Jo ...

  8. 第十二届蓝桥杯C++B组 A~H题题解

    本次题解格式参考 墨羽魂韶 本文所用的试题: 第十二届蓝桥杯大赛软件赛省赛_CB.pdf 最后编辑时间 2021年4月29日 21:27:46 2022 年 4月 8号 15点13分 填空题答案速览 ...

  9. 二、Mycat安装

    系列导航 一.Mycat实战---为什么要用mycat 二.Mycat安装 三.mycat实验数据 四.mycat垂直分库 五.mycat水平分库 六.mycat全局自增 七.mycat-ER分片 万 ...

  10. <vue 基础知识 4、计算属性computed>

    代码结构 一.     计算属性简单使用 1.效果 2.代码 01-计算属性简单用法.html <!DOCTYPE html> <html lang="en"&g ...