Linux初始化以及系统性能调优
前言
成功安装 Linux 系统后,需要针对系统进行初始化设置,以确保安全性、稳定性和个性化。本文将详细介绍安装后应立即执行的几个关键步骤,助您快速上手并优化 Linux 环境。
本文主要以debian为例针对CPU、硬盘、内核等操作系统参数进行优化。
CPU
关闭cpu节能
随着CPU的发展,Intel出现了EIST技术,它可以动态的调整CPU的频率。当CPU使用率地下或者接近0时候,能降低CPU频率并且降压,从而降低功耗和发热。当检测到CPU使用率增高,它会马上回到原始工作频率,但是你必须考虑CPU被唤醒的时间,并且确保它会再次100%运行。这一系列的过程通常被称为“C-states”或“C-modes”,它是从C0开始的。
关闭CPU节能方式如下:
1 | 修改 grub 文件(注意备份) |
- intel_idle.max_cstate=0
这个参数用于 Intel 平台,指定禁用 intel_idle 驱动,让系统退回使用通用的 acpi_idle 驱动。这样 acpi_idle 驱动会遵循 processor.max_cstate 参数的设置,从而限制 CPU 只能使用浅层 C-state(C1)。
- intel_pstate=disable
禁用Intel处理器的动态频率调节驱动(P-state),改用传统ACPI cpufreq
驱动管理CPU频率。
- processor.max_cstate=1
限制Intel处理器的空闲状态最大为C1,禁止进入更深层节能状态(如C2/C3),减少唤醒延迟。与设置为processor.max_cstate=0等效
网卡
网络接口命名规则
1 | 修改 grub 文件(注意备份) |
- net.ifnames=0
禁用可预测的网络接口命名(如ens33
),恢复传统命名方式(如eth0
)。
- biosdevname=0
关闭基于BIOS设备名的网络接口命名规则(如em1
),需与net.ifnames=0
配合生效。
网络优化配置
1 | 查看当前队列 |
硬盘
调度策略
1 | NVME设置调度策略为none |
- mq-deadline
mq-deadline
调度程序将排队的 I/O 请求分为读取或写入批处理,然后调度它们以增加逻辑块寻址 (LBA) 顺序执行。默认情况下,读取批处理的优先级高于写入批处理,因为应用程序更有可能阻止读 I/O 操作。在 mq-deadline
批处理后,它会检查写操作在处理器时间耗尽的时间,并根据情况调度下一个读取或写入批处理。
这个调度程序适用于大多数用例,特别是那些写入操作是异步的。
- none
所有进程的io请求都进入FIFO队列,完全按照队列的顺序进行io的读取,适合于ssd,因为io请求饥饿以及每次请求都需要寻道,ssd不存在传统hdd的寻道时间。
文件系统优化
1 | /etc/fstab 添加挂载参数 |
- noatime: 不更新文件的最后访问时间,减少磁盘 I/O。
- nodiratime: 不更新目录的访问时间,进一步减少磁盘 I/O。
参考链接: