0

0

Linux 文件系统性能优化思路

舞姬之光

舞姬之光

发布时间:2026-01-26 18:11:54

|

810人浏览过

|

来源于php中文网

原创

ext4调优需分层处理:挂载参数(noatime、data=writeback、barrier=0)、inode密度(mke2fs -i)、IO调度器(NVMe用none)、vm.swappiness调低,并优先排查iostat/iotop确认真因。

linux 文件系统性能优化思路

ext4 文件系统挂载参数调优

默认挂载的 ext4 往往没开性能关键选项,尤其在高并发小文件或日志写入场景下容易成为瓶颈。常见误区是只调 noatime,其实更关键的是 data=writebackbarrier=0(后者仅限有掉电保护的 RAID/SSD)。

实操建议:

  • noatime 必加,避免每次读都触发磁盘写;relatime 是折中,但现代内核下 noatime 更稳妥
  • 数据库或日志服务可试 data=writeback,跳过日志同步开销;但注意崩溃后可能丢失未提交事务
  • barrier=0 仅当确认存储层有电容/闪存断电保护时启用,否则 barrier=1(默认)必须保留
  • SSD 上建议加 discard(若支持 TRIM)或定期跑 fstrim,避免长期使用后写放大

inode 与 block 分配策略调整

新建大容量文件系统时,mke2fs 的初始参数直接影响后续扩展性。默认 inode 数量按每 16KB 一个分配,小文件多的场景(如容器镜像仓库、Git 仓库)很快耗尽 inode,报错 No space left on devicedf -h 显示空间充足。

实操建议:

  • 创建时用 mke2fs -i 8192(每 8KB 一个 inode)提升小文件密度;极端情况可到 -i 4096,但会略微增加元数据开销
  • 已有文件系统无法直接增 inode,只能 dump/restore 重建,务必提前规划
  • tune2fs -l /dev/sdXN | grep "Inode count" 查当前总量,df -i 看剩余,别等报错才查
  • 对顺序大文件场景(如视频归档),反而可加大 -i 值(如 32768),节省 inode 表空间

IO 调度器与队列深度匹配硬件

Linux 内核的 IO 调度器(cfqdeadlinenoopkybermq-deadline)不是越新越好,得看后端设备类型。NVMe SSD 上用 cfq 反而引入无谓延迟,而传统 HDD 上关调度器(noop)又可能降低吞吐。

善美购物商城Sunway Shop
善美购物商城Sunway Shop

系统特点:技术领先:系统基于被广泛使用的Windows平台开发,集百家之所长,技术领先、功能完备; 快速建店:只需简单设置,3分钟即可以建立一个功能完备的网上商城; 操作简便:软件操作界面由专业设计人员设计,采用人性化的布局,界面规范,操作简捷; 安装方便:只需传到您的虚拟空间即可; HTML编辑器:内置优秀的HTML在线编辑器; 可扩展性:软件构架灵活,考虑未来功能扩充之需要,具有较强的可扩展性

下载

实操建议:

  • NVMe 设备强制设为 none(即绕过调度器):echo none > /sys/block/nvme0n1/queue/scheduler
  • SATA SSD 推荐 mq-deadlinekyber(5.0+ 内核);HDD 仍用 mq-deadline 较稳
  • 检查当前值:cat /sys/block/sda/queue/scheduler,中括号标出的是生效项
  • 队列深度也需对齐:NVMe 默认 nr_requests=128 够用,但高并发场景可调至 256;SATA SSD 建议保持 32~64

避免 swap 对文件系统 IO 的隐式干扰

当内存紧张时,内核可能把脏页回写延迟到 swap 分区,导致 pdflushwriteback 进程突然扫盘,拖慢正常文件 IO。这不是文件系统本身问题,但现象常被误判为磁盘慢。

实操建议:

  • 调低 vm.swappiness1(非零以防 OOM killer 过早触发),禁止主动换出匿名页
  • 确认 swap 是否真被使用:grep -i "swap" /proc/meminfo,若 SwapTotal 非零但 SwapFree ≈ SwapTotal,说明基本没走 swap
  • SSD 上禁用 swap 更彻底:卸载后 swapoff /dev/sdXN,再从 /etc/fstab 删除对应行
  • 监控 pgpgin/pgpgout(/proc/vmstat)突增,可佐证 swap 引发的 IO 波动

真正卡顿往往不在文件系统层本身,而在调度器、内存回收、块设备队列这些“夹层”。调参前先用 iostat -x 1%utilawait 是否真高,再查 iotop 定位进程,最后才动挂载参数或 tune2fs —— 否则容易把负载均衡问题当成磁盘问题修。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

198

2023.11.20

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

723

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

552

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

266

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

553

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

516

2024.04.09

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

356

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2078

2023.08.14

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

31

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.8万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号