当前位置: 首页 > article >正文

通过 ulimit 和 sysctl 调整Linux系统性能

目录

  • 一:资源限制管理工具:ulimit
    • 1、ulimit 作用介绍
    • 2、ulimit 常用选项
    • 3、ulimit 配置文件
  • 二:内核参数调整工具:sysctl
    • 1、sysctl 作用介绍
    • 2、sysctl 常用选项
    • 3、sysctl 配置文件

一:资源限制管理工具:ulimit

1、ulimit 作用介绍

ulimit 是为用户设定资源限制的工具。 它限制的是用户会话中所有进程的资源使用,而不仅仅是某个单独的进程。通过限制某个用户进程的资源来保该用户的进程不会消耗过多的系统资源。

  • 限制以某个用户身份运行的单个进程可以打开的文件数量。

  • 限制某个用户可以创建的最大进程数。

  • 限制以某个用户身份运行的单个进程可以使用的堆栈大小。

  • 限制以某个用户身份运行的单个进程可以使用的最大虚拟内存量。

  • 限制以某个用户身份运行的单个进程可以使用的最大 CPU 时间。

2、ulimit 常用选项

ulimit -a

  • 显示当前用户的所有资源限制信息。

ulimit -n

  • 如果 不加数字,表示 查看当前用户单个进程可以打开的最大文件数量。
  • 如果 加数字,表示 设置 当前用户单个进程可以打开的文件描述符的最大数量。

ulimit -u

  • 如果 不加数字,表示 查看当前用户可以创建的最大进程数。
  • 如果 加数字,表示 修改最大进程数。

ulimit -s

  • 如果 不加数字,表示 查看当前用户的堆栈大小。
  • 如果 加数字,表示 设置堆栈大小。

ulimit -l

  • 如果 不加数字,表示 查看当前用户最大可锁定的内存大小。
  • 如果 加数字,表示 修改最大可锁定内存大小。

ulimit -t

  • 如果 不加数字,表示 查看当前用户进程的最大 CPU 时间。
  • 如果 加数字,表示 设置进程的最大 CPU 时间(单位:秒)。

通过 ulimit 命令修改资源限制信息

  • 只能修改执行ulimit这个命令的用户的资源限制信息,不能修改其他用户的资源限制信息;

  • 临时生效,该会话结束后,恢复默认值

3、ulimit 配置文件

配置文件名称/etc/security/limits.conf


配置文件格式

用户名		限制类型	资源类型	给定的资源值

# 用户名
	# 如果为 * 就表示针对所有用户生效
	# @groupname:表示特定的用户组
	# 
# 限制类型
	# soft:软限制,用户可以在不超出硬限制的情况下,通过命令修改软限制值。
	# hard:硬限制,只能由 root 用户 或具有足够权限的用户修改配置文件实现。
	# -:无类型,包含软限制和硬限制
# 限制的资源类型
	# core:core控制的是操作系统生成的文件大小,这个文件是用来排错的;
	# nproc:控制最大进程数。
	# nofile:控制最大打开文件数。
	# memlock:控制最大内存锁定大小。
	# msgqueue:控制最大消息队列大小。
# 给定的资源值
	# unlimited:表示无限制
	# 数字:表示不能超过这个数字指定值

通过 编辑配置文件修改资源限制信息

  • 需要管理员身份的用户(root)编辑配置文件,可以修改其他用户的资源限制信息;

  • 永久生效,开机会自动加载这个配置文件;

二:内核参数调整工具:sysctl

1、sysctl 作用介绍

sysctl 可以用来修改Linux内核的一些参数,从而实现性能优化。sysctl 主要用于查询和修改 /proc/sys 目录下的内核参数,使用sysctl调整的内核参数也是临时生效。

可以通过写入配置文件( /etc/sysctl.conf )的方式来实现持久化生效。

2、sysctl 常用选项

sysctl -w key=value:临时改变某个指定参数的值

例如:临时开启网络转发

sysctl -w net.ipv4.ip_forward=1

sysctl -a:显示所有生效的系统参数


sysctl -p [filename]:修改配置文件后,加载生效(没有指定具体文件系统首先会读取 /etc/sysctl.conf 文件中的设置)


通过sysctl修改的内核参数只会临时生效,系统重启后修改的参数会恢复到初始值;

3、sysctl 配置文件

配置文件格式:

  • 每一行是一个 键值对,其中 key 是内核参数名称,value 是该参数的值。两者之间用 等号(=) 分隔。

  • 键名所表示的路径,是 /proc/sys 目录中的 配置项路径,以/proc/sys为起点,其中斜线用点表示。net.ipv4.ip_forward 对应的文件是 /proc/sys/net/ipv4/ip_forward

sysctl 常用配置:

# 设置较低的交换空间使用倾向
vm.swappiness = 0

# 开启网络转发功能
net.ipv4.ip_forward=1

# 禁ICMP回应报文(禁ping)
net.ipv4.icmp_echo_ignore_all=1

通过将相关内核参数写入配置文件,系统重启后仍然会生效;


http://www.kler.cn/a/471904.html

相关文章:

  • 【Logstash03】企业级日志分析系统ELK之Logstash 过滤 Filter 插件
  • unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等
  • 【阅读笔记】基于FPGA的红外图像二阶牛顿插值算法的实现
  • 【Axios使用手册】如何使用axios向后端发送请求并进行数据交互
  • PostgreSQL学习笔记(二):PostgreSQL基本操作
  • 【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
  • ThinkPHP 8高效构建Web应用-获取请求对象
  • VUE条件树查询 自定义条件节点
  • 【JMeter】配置元件Config Element
  • 浅谈棋牌游戏开发流程四:核心业务逻辑(二)——房间匹配与对局流程
  • Java 日期时间格式化标准
  • 【HarmonyOS NEXT】鸿蒙应用实现屏幕录制详解和源码
  • 1.07 标准IO
  • 数据结构:LinkedList与链表—无头双向链表(二)
  • STM32 拓展 电源控制
  • 大数据架构设计:数据分层治理的全景指南
  • 人机交互复习笔记
  • ECharts系列:echart中折线图折线设置不平滑显示
  • 【Jsoncpp】manipulating JSON data in C++
  • 时间格式转换
  • 软件开发为什么要用CI/CD方法
  • 《量子比特大阅兵:不同类型量子比特在人工智能领域的优劣势剖析》
  • 如何制作一份好的年终总结PPT?-中小企实战运营和营销工作室博客
  • RAFT:随机退火森林
  • playwright 录制
  • QT 下拉菜单设置参数 起始端口/结束端口/线程数量 端口扫描4