网站首页 > 精选文章 正文
系统配置与优化是提升Linux系统性能和稳定性的关键,涵盖了内核参数调整、文件系统优化、资源管理等内容。
1. 内核参数优化
1.1 查看和修改内核参数
- 查看内核参数:
sysctl -a
- 修改内核参数:临时修改:
sysctl -w =
- 永久修改:编辑/etc/sysctl.conf文件,添加或修改参数后执行sysctl -p生效。
1.2 常见内核参数优化
- 网络性能优化:
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_sack = 1
- 文件系统优化:
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
- 进程管理优化:
kernel.pid_max = 65536
kernel.threads-max = 65536
2. 文件系统优化
2.1 文件系统选择
- ext4:默认文件系统,适合大多数场景。
- XFS:高性能文件系统,适合大文件和高并发场景。
- Btrfs:支持快照和压缩,适合需要高级功能的场景。
2.2 挂载选项优化
- noatime:禁止记录文件访问时间,减少磁盘I/O。
- nodiratime:禁止记录目录访问时间。
- data=writeback:延迟写入元数据,提高性能(适用于ext4)。
- barrier=0:禁用写屏障,提高性能(需确保有备用电源)。
示例:
/dev/sda1 /mnt/data ext4 defaults,noatime,nodiratime 0 2
3. 资源管理
3.1 CPU和内存优化
- nice和renice:调整进程优先级。
nice -n 10 # 以优先级10启动命令
renice 10 -p # 修改运行中进程的优先级
- cgroups:控制资源使用。
cgcreate -g cpu,memory:/mygroup
cgset -r cpu.shares=512 /mygroup
cgset -r memory.limit_in_bytes=1G /mygroup
cgexec -g cpu,memory:/mygroup
3.2 磁盘I/O优化
- ionice:调整磁盘I/O优先级。
ionice -c2 -n7 # 以最低优先级启动命令
- fio:测试磁盘性能。
fio --name=test --ioengine=libaio --rw=read --bs=4k --numjobs=16 --size=1G --runtime=60 --time_based --end_fsync=1
4. 系统监控与调优工具
4.1top和htop
- top:实时查看系统资源使用情况。 top
- htop:增强版的top,支持交互式操作。 htop
4.2vmstat
- 查看系统性能: vmstat 1 # 每秒刷新一次
4.3iostat
- 查看磁盘I/O性能: iostat -x 1
4.4sar
- 系统活动报告:
sar -u 1 # 查看CPU使用率
sar -r 1 # 查看内存使用率
sar -b 1 # 查看磁盘I/O
5. 系统服务优化
5.1 禁用不必要的服务
- 查看所有服务:
systemctl list-unit-files --type=service
- 禁用服务:
sudo systemctl disable
5.2 优化服务启动顺序
- 编辑服务配置文件:
[Unit]
After=network.target
6. 总结
本章节介绍了Linux系统配置与优化的基础知识,包括内核参数调整、文件系统优化、资源管理和系统监控工具。掌握这些技能可以帮助你提升Linux系统的性能和稳定性。
猜你喜欢
- 2025-03-26 如何检查 Linux 上长时间运行的高 CPU 和内存消耗进程?
- 2025-03-26 一个轻量的Linux运维监控脚本(一个轻量的linux运维监控脚本多少钱)
- 2025-03-26 Linux入门--提高工作效率的命令(提高工作效率的50个小技巧)
- 2025-03-26 「开学季」Linux 系统自动化部署系统
- 2025-03-26 linux性能优化之内存篇(linux内存过高怎么办)
- 2025-03-26 第十九节:Linux存储管理:从块设备到分布式存储
- 2025-03-26 如何检查Linux系统硬件信息?从CPU到显卡,一网打尽!
- 2025-03-26 通过实例学习Linux脚本02 监控特定进程的资源使用情况
- 2025-03-26 Linux运维工程师必知必会的10个命令行组合
- 2025-03-26 每日一个Linux命令解析(每日一个linux命令解析怎么写)
- 05-22如何基于Docker和Jenkins打造面向初创公司的持续集
- 05-22Flutter无脑入门-从零到第一个APP
- 05-22git 子模块
- 05-22我见过的最糟糕代码
- 05-22掌握这 20 个 Git 命令,成为团队协作高手!
- 05-22gitflow的工作流
- 05-22Git详细使用教程
- 05-22git版本管理总有问题,建议使用git flow
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)