Linux内核调参常用整理

news2025/2/3 18:57:31

一、【写在前面】

Linux内核调参是一个重要知识,这篇文章总结一下常见的参数用法。

调参位置在 /etc/sysctl.conf中或者sysctl.d

区别是:

  1. /etc/sysctl.conf 文件:

    • 这是默认的主配置文件,包含了系统上所有的 sysctl 参数配置。
    • 所有的配置项都可以直接添加到这个文件中。
    • 在这个文件中,通常会包含一些全局性的配置,对整个系统生效。
  2. /etc/sysctl.d/ 目录:

    • 这个目录是用来存放系统级别和软件包级别的 sysctl 配置文件的地方。
    • 在这个目录下,可以创建一个新的文件,以 .conf 结尾,来添加相关的 sysctl 配置。
    • 这种结构允许不同的软件包或管理员组织他们自己的 sysctl 参数,方便管理。

使用场景:

  • 如果你只是想修改一些通用的全局参数,直接编辑 /etc/sysctl.conf 文件即可。
  • 如果你正在为某个软件包配置 sysctl 参数,最好将相关的配置放在 /etc/sysctl.d/ 目录下,创建一个新的文件,以保持结构的清晰性。

注意事项:

  • 在修改这些文件后,需要使用 sysctl -p 命令来加载新的配置。
  • 在 /etc/sysctl.d/ 目录下的文件通常以 .conf 结尾,但并非必须。系统会按照文件名的字母顺序加载配置,因此可以通过文件名来控制加载的顺序。
  • 请谨慎修改这些文件,确保你了解正在修改的参数的含义以及对系统的影响。

二、【参数记录】

  1. 网络参数:

    • net.ipv4.tcp_max_syn_backlog: 设置TCP SYN 队列的最大长度,影响连接的建立。
    • net.ipv4.tcp_max_tw_buckets: 设置系统允许的最大 TIME-WAIT sockets 数量。
    • net.core.somaxconn: 设置系统对于监听状态的套接字的最大并发连接数。
    • net.ipv4.ip_forward: 控制是否启用IP转发,用于路由功能。
    • net.ipv4.conf.all.accept_redirects: 控制是否接受 ICMP 重定向。
    • net.ipv4.conf.all.forwarding: 控制所有网络接口是否启用 IP 转发。
    • net.ipv4.tcp_syncookies: 启用 SYN Cookie 支持,防止 SYN 攻击。
    • net.core.netdev_max_backlog: 控制网络设备队列的最大长度。
  2. 内存参数:

    • vm.max_map_count: 设置一个进程的最大地址空间映射数量。
    • vm.vfs_cache_pressure: 控制文件系统元数据缓存与文件页缓存之间的平衡。
    • vm.swappiness: 调整系统对交换空间的使用倾向。
    • vm.dirty_ratio 和 vm.dirty_background_ratio: 控制脏页(尚未写入磁盘的内存页)的百分比。
    • vm.overcommit_memory: 决定内存超额分配策略。
    • vm.max_map_count: 设置一个进程最大的地址空间。
  3. 文件系统参数:

    • fs.inode-max: 设置系统上的最大inode数量。
    • fs.quota: 启用磁盘配额功能。
    • fs.file-max: 设置系统所能打开文件的最大数量。
    • fs.nr_open: 设置系统可打开的文件句柄数量。
    • fs.inotify.max_user_watches: 设置inotify机制的最大用户观察数。
  4. 安全性参数:

    • kernel.exec-shield: 控制可执行文件的地址空间布局,用于防范缓冲区溢出攻击。
    • kernel.sysrq: 启用或禁用系统请求键(SysRq)功能。
    • kernel.randomize_va_space: 控制地址空间的随机化,提高系统的安全性。
    • kernel.core_pattern: 设置core dump文件的命名规则。
    • fs.protected_hardlinks 和 fs.protected_symlinks: 增强对 /tmp 目录的保护。
  5. TCP参数:

    • net.ipv4.tcp_rmem: 控制TCP接收缓冲区的最小、默认、最大大小。
    • net.ipv4.tcp_wmem: 控制TCP发送缓冲区的最小、默认、最大大小。
    • net.ipv4.tcp_tw_reuse: 允许重新使用TIME-WAIT套接字。
    • net.ipv4.tcp_tw_recycle: 启用快速TIME-WAIT套接字回收。
    • net.ipv4.tcp_fin_timeout: 设置TCP连接的FIN等待时间。
    • net.ipv4.tcp_keepalive_time: 设置TCP连接的空闲时间。
    • net.ipv4.tcp_window_scaling: 启用 TCP 窗口扩大因子。
  6. 进程参数:

    • kernel.panic_on_oops: 决定系统在发生内核 oops 时是否自动重启。
    • kernel.shmall: 共享内存段的总大小(以页面为单位)。
    • kernel.shmmax: 共享内存段的最大大小(以字节为单位)。
    • kernel.pid_max: 系统允许的最大PID值。
    • kernel.sem: 用于控制 System V IPC 信号量的参数。
  7. 调度参数:

    • kernel.sched_migration_cost_ns: 设置任务迁移的成本。
    • kernel.sched_autogroup_enabled: 启用或禁用自动任务组。
  8. 时间参数:

    • kernel.timezone: 设置内核时区。
    • kernel.panic: 设置内核发生致命错误时的延迟时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven打包spring项目

常用的Maven命令如下 命令 说明mvn clean 清理Maven 项目。会删除目标路径(一般是target目录)Maven生成的打包文件,编译文件。mvn package 打包Maven项目,会生成jar 或者war文件。mvn test 执行test目录下的测试用例。mvn deploy 发布依赖到远端mvn site 生成…

Leetcode206:反转链表

一、题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表 示例: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]输入:head [1,2] 输出:[2,1]输入:head [] 输出&#xff1…

面试经典 150 题 -- 滑动窗口 (总结)

面试经典150题链接 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 209 . 长度最小的子数组 思路 : 滑动窗口的思想,取ij0,向后遍历j,记录前缀和[l,r]为s,如果s>target,那么左端点向右移动,直到s…

net 一台路由器如何让两个不同网段的终端可以通信。

# 终端设备自己设置就行了 # 路由器的设置 The device is running! #################################################### <Huawei> Feb 1 2024 21:21:09-08:00 Huawei %%01IFPDT/4/IF_STATE(l)[0]:Interface GigabitEt hernet0/0/0 has turned into UP state. <…

Linux系统——防火墙

一、防火墙的认识 引言 安全技术 入侵检测系统&#xff08;Intrusion Detection Systems&#xff09;&#xff1a;特点是不阻断任何网络访问&#xff0c;量化、定位来自内外网络的威胁情况&#xff0c;主要以提供报警和事后监督为主&#xff0c;提供有针对性的指导措施和安全…

POI word操作,如何使表格单元格文本内容垂直/水平居中(两行代码解决)

垂直居中&#xff1a;cell本身就有垂直对齐的api&#xff0c;一行代码就够。 水平居中&#xff1a;一般方式行不通&#xff0c;网上苦找了许多方式&#xff0c;代码都太长了&#xff0c;&#xff0c;忒麻烦。于是我突发奇想&#xff0c;发现可以利用paragraph的水平居中对齐方…

Flask 入门3:Flask 请求上下文与请求

1. 前言 Flask 在处理请求与响应的过程&#xff1a; 首先我们从浏览器发送一个请求到服务端&#xff0c;由 Flask 接收了这个请求以后&#xff0c;这个请求将会由路由系统接收。然后在路由系统中&#xff0c;还可以挂入一些 “勾子”&#xff0c;在进入我们的 viewFunction …

小白水平理解面试经典题目_数组类Leetcode 412. Fizz Buzz【数学解法】

412 FizzBuzz 小白渣翻译&#xff1a; 给定一个整数 n &#xff0c;返回一个字符串数组 answer &#xff08;从 1 开始索引&#xff09;&#xff0c;其中&#xff1a; answer[i] “FizzBuzz” 如果 i 能被 3 和 5 整除。answer[i] “Fizz” 如果 i 能被 3 整除。answer[i]…

【gulp+jq+html】添加环境变量,并在js中使用(判断环境,更改api接口域名)+ 附gulpfile.js代码

参考博文&#xff1a; gulp分离环境 gulp中如何配置环境变量 gulp环境变量配置 1、安装cross-env插件 npm install cross-env -d2、package.json更改scripts "scripts": {"clean": "gulp clean","serve:test": "cross-env NODE…

IP协议(2) 和 数据链路层协议基础

IP协议续 1.路由选择 在复杂的网络结构中,我们需要找到一个通往终点的路线,这就是路由选择 举个例子:我们在没有手机导航之前,想去一个地方得是到一个地方问一下路的方式最终找到目的地 路由的过程,其实就是样子问路的过程 1.当IP数据包到达路由器的时候,会查看目的IP 2.路由器…

HAL库配置PWM模式

一、什么是PWM 脉冲宽度调制(PWM)&#xff0c;是英文“Pulse Width Modulation”的缩写&#xff0c;简称脉宽调制。通过控制高低电平在一个周期内的占比从而输出一定的电压。 向上计数原理介绍 ​PWM的一个周期 定时器从0开始向上计数 当0-t1段,定时器计数器TIMx_CNT值小于…

Springboot-前后端分离——第三篇(三层架构与控制反转(IOC)-依赖注入(DI)的学习)

本篇主要对ControllerServiceDAO三层结构以及控制反转&#xff08;IOC&#xff09;与DI&#xff08;依赖注入&#xff09;进行总结。 目录 一、三层架构&#xff1a; Controller/Service/DAO简介&#xff1a; 二、控制反转(IOC)-依赖注入(DI): 概念介绍&#xff1a; DOC与…

学校如何提升教学效率?这种方法要牢记!

随着教育信息化的发展&#xff0c;学校管理也逐渐借助先进的技术手段实现智能化、高效化。在线巡课系统作为其中的重要组成部分&#xff0c;为学校领导提供了便捷而有效的管理工具。 客户案例 中小学校长办公室 在中小学校长办公室&#xff0c;校长通过在线巡课系统可以实时查…

js 设置、获取、删除标签属性以及H5自定义属性

1. 设置标签属性 使用setAttribute()(‘属性名’, ‘属性值’)方法可以添加、修改、删除属性。   下面的demo是为input添加、修改、删除value属性&#xff1a; 1.1. HTML <input type"text" class"input"> <input type"text" class…

apk反编译修改教程系列---修改apk的默认颜色 布局颜色 手机电脑同步演示【十】

往期教程&#xff1a; apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】 apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】 apk反编译修改教程系列-----修改apk中的图片 任意更换apk桌面图片【三】 apk反编译修改教程系列---简单…

centos7 安装 java17 安装 idea

删除旧版本的java或者说是自带的&#xff0c;免得干扰 查找java [wanglcentos7 java]$ rpm -qa|grep javajava-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 javapackages-tools-3.4.1-11.el7.noarch tzdata-java-2020a-1.el7.noarch python-javapackages-3.4.1-11.el7.noarch …

获取响应请求头里的信息

如图所示这是一个导出excel的接口&#xff0c;后端响应头部&#xff0c;要获取Content-Disposition里的值&#xff0c; 由于命名问题&#xff0c;没有办法用res.Content-Disposition的方式获取它的值 按理来说使用res[Content-Disposition]就可以获取到&#xff0c;但是咩有&…

MySql主从同步,同步SQL_ERROR 1032解决办法

1.登录从库 mysql -u root -p 2.输入命令查看状态 SHOW SLAVE STATUS\G; 3.找到对应的错误数据位置 Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: app_push_centerReplicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Tabl…

【C++】vector的简单使用和实现

vector就是我们之前数据结构学的顺序表&#xff0c;这篇博客就是说一说它的简单使用和底层实现 文章目录 简单使用模拟实现 简单使用 首先&#xff0c;我们看看它的构造函数 我们比较常用的也就是第二种&#xff0c;就是第一个参数是要存的数据个数&#xff0c;第二个是要填…

Linux系统Shell脚本-----------正则表达式 文本三剑客之---------grep、 sed

一、正则表达式 1.前言 正则表达式(regular expression)描述了一种字符串匹配的模式&#xff08;pattern&#xff09;&#xff0c;可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。在Linux中也就是代表我们定义的模式模板&…