39、Ubuntu系统优化全攻略

Ubuntu系统优化全攻略

1. 系统优化概述

Ubuntu系统本身性能出色,稳定性问题相对较少,例如Linux文件系统通常无需进行碎片整理(除非有NTFS或FAT32分区需要处理)。但我们仍可进一步优化系统,以解决性能问题或充分发挥系统潜力。不过,即使不进行优化,Ubuntu在大多数硬件上也能正常运行,若对系统运行状况满意,可跳过优化步骤。

2. 加快系统启动速度
  • 并行运行启动脚本 :自Ubuntu 6.10起,系统使用Upstart启动例程,它能有效自我优化。对于多线程、多核处理器(如Intel Core 2 Duo和AMD Athlon 64 X2),可通过并行运行启动脚本来提升性能。
    • 操作步骤:
      1. 在终端窗口输入以下命令,将 /etc/init.d/rc 文件加载到Gedit文本编辑器中:
gksu gedit /etc/init.d/rc
    2. 找到文件顶部以`CONCURRENCY`开头的行,将值从`none`改为`startpar`。
    3. 保存文件并重启计算机。若启动速度无改善,可将值改回`CONCURRENCY=none`。
  • 减少启动菜单延迟 :消除Grub启动菜单延迟可节省启动时间,延迟可减至1秒甚至完全消除。但这样可能无法选择要加载的内核或操作系统,也无法进入恢复模式或选择之前安装的Linux内核。
    • 操作步骤:
      1. 在终端窗口输入以下命令,将 /etc/default/grub 文件加载到Gedit文本编辑器中:
gksu gedit /etc/default/grub
    2. 找到以`GRUB_TIMEOUT`开头的行,将值改为所需的秒数。值为0时启动菜单将不显示,不建议这样设置。一般设置为1秒,可在适当时间按任意键取消倒计时,使启动菜单保持显示,直至选择选项。
    3. 保存文件并退出Gedit。
3. 管理GNOME会话

在Ubuntu中,可通过 Startup Applications Preferences 对话框( gnome - session - properties )控制随GNOME桌面自动启动的程序。使用 Alt - F2 打开运行应用程序界面,输入 gnome - session - properties 即可打开该对话框。以下是一些常见的启动程序及其建议设置:
| 程序名称 | 功能 | 建议设置 |
| — | — | — |
| Bluetooth Manager | 负责蓝牙小工具,用于文件收发、浏览其他蓝牙设备等 | 若系统无蓝牙功能或无需使用蓝牙,可禁用 |
| Certificate and Key Storage | 用于安全工具中存储证书和加密密钥 | 建议保留 |
| Check for New Hardware Drivers | 扫描硬件设备,检查是否有新的第三方专有驱动 | 若硬件无需第三方驱动或不喜欢使用专有软件,可禁用;否则保留 |
| Disk Notifications | 由SMART实用程序监控硬盘状态 | 建议保留,若关闭需定期使用磁盘实用程序监控硬盘 |
| Evolution Alarm Notifier | 与Evolution日历功能关联,提醒事件 | 若不使用Evolution或其日历功能,可禁用 |
| GNOME Login Sound | 播放Ubuntu登录欢迎音乐 | 可禁用 |
| GSettings Data Conversion | 确保其他程序能以所需格式读写数据 | 不可关闭 |
| Network Manager | 管理Wi - Fi、以太网和VPN连接 | 不建议禁用 |
| NVidia X Server Setting | 用于配置Nvidia显卡的专有驱动设置 | 若有Nvidia显卡且需经常更改显示设置,可保留 |
| Personal File Sharing | 允许用户与其他用户共享文件 | 若无需共享文件,可禁用,因存在安全风险 |
| Power Manager | 控制GNOME的电源管理,包括休眠功能 | 笔记本电脑建议保留;台式机若需节能,也建议保留 |
| Print Queue Applet | 提供取消或重复打印作业的界面,自动设置打印机 | 若不使用打印机,可禁用 |
| Remote Desktop | 允许其他计算机远程连接 | 若无需远程访问,可禁用 |
| Secret Storage Service | 生成和存储加密密钥的后台组件 | 若不加密文件或电子邮件,可禁用 |
| SSH Key Agent | 缓存SSH密钥的密码 | 若不了解其用途,可忽略 |
| Ubuntu One | 访问Ubuntu云解决方案 | 若不使用,可禁用 |
| Update Notifier | 检查系统更新 | 建议保留,若需节省启动时间,可手动检查更新 |
| User Folders Update | 更改系统默认语言时,翻译用户文件夹名称 | 若不更改语言设置,可禁用 |
| Visual Assistance | 运行辅助技术(如屏幕阅读器、放大镜等) | 若不使用辅助技术,可禁用 |

此外,在 Startup Applications Preferences 窗口中,可使用“Add”按钮添加任意程序到GNOME启动项。

4. 停止等待获取地址

若使用以太网或Wi - Fi连接网络,Ubuntu启动时可能会花费几秒获取互联网地址。为解决此问题,可为计算机分配静态IP地址。
- 操作步骤:
1. 查看路由器(或其他DHCP服务器)使用的IP地址范围,可通过路由器配置软件查看,有时可通过网页浏览器访问,查找“DHCP Configuration”或类似部分。
2. 常见的IPv4局域网地址范围是 192.168.x.x ,最后一位不能为0或255。例如,若路由器使用 192.168.1.2 - 254 范围,可选择一个不太可能被分配的地址(如 192.168.1.50 )。
3. 定义静态IP地址时,需手动提供网关、子网和DNS地址。例如,网关可能是 192.168.1.1 ,子网是 255.255.255.0 ,小型家庭网络的DNS地址可能与网关地址相同。

需注意,若经常切换网络,不建议使用静态IP地址。

5. 创建自定义预读配置文件

Ubuntu的预读(readahead)功能可根据硬盘位置对启动时加载的文件列表进行排序。标准Ubuntu安装有默认的预读列表,也可创建自定义列表。
- 操作步骤:
1. 重启Ubuntu,在启动菜单中高亮显示Ubuntu条目并按 E 。若计算机仅安装了Ubuntu,可能需按 Shift 显示启动菜单。
2. 高亮显示以 linux 开头的行并再次按 E
3. 使用右箭头键将光标移至行尾,插入空格并输入 profile 。示例行如下:

< quiet splash profile
4. 按`Control - X`启动计算机。此次启动时间会比平时长,因为正在重建启动配置文件。计算机启动完成且所有磁盘活动停止(桌面出现后可能需等待一两分钟),再次重启计算机,启动速度应会加快。
6. 预链接(Prelinking)

许多Ubuntu软件依赖其他代码库运行。程序启动时需查找并加载这些库到内存,这可能会花费时间,尤其对于大型复杂程序。预链接通过一系列复杂技巧,让软件了解所需的库,从而更好地分配内存,宣称可将程序启动时间提升50%以上。但预链接是一种非标准的编程技巧,部分程序可能与之不兼容,必要时可轻松撤销。
- 配置预链接:
1. 打开Ubuntu软件中心,在搜索框中输入 prelink 并点击安装。
2. 在终端窗口输入以下命令,编辑配置文件:

gksu gedit /etc/default/prelink
3. 将`PRELINKING = unknown`改为`PRELINKING = yes`,保存文件并退出Gedit。若文件不存在,使用以下命令安装预链接软件:
sudo apt - get install prelink
4. 在终端输入以下命令,对系统进行预链接扫描:
sudo prelink - a
此过程可能需要一些时间,可能会出现错误输出,可忽略。安装预链接后,它会自动作为每日定时任务运行,新安装的程序将自动进行预链接。
  • 停用预链接:
    • 若某个应用程序因预链接出现故障,可尝试对单个二进制文件撤销预链接。例如,对于Gedit文本编辑器,先使用以下命令查找其主二进制文件位置:
whereis gedit
结果显示Gedit二进制文件位于`/usr/bin/gedit`,然后使用以下命令撤销预链接:
sudo prelink -- undo /usr/bin/gedit
- 若上述方法无效,可对整个系统撤销预链接:
sudo prelink - ua
之后通过Ubuntu软件中心移除预链接包,或手动移除其定时任务条目,防止其再次运行。
7. 优化内核

可下载Linux内核源代码并编译自定义版本,这样能完全控制内核配置,去除不需要的部分以释放内存。当前内核通常无需自行编译,因为Linux内核是模块化的,不会加载不需要的组件,但仍可通过编译内核去除某些组件,还可设置优化选项,如为特定CPU型号创建内核版本。不过,编译内核需回答许多复杂问题,且可能会带来一些问题:
- 可能与已安装的二进制模块(如图形卡或无线驱动)不兼容,需自行更新这些模块,增加了复杂性。
- Ubuntu基于预编译内核构建,部分软件包依赖预编译内核,且Ubuntu可能会自动下载更新的预打包内核,覆盖自定义内核。若自定义内核存在安全问题,需重新编译新内核。
- 自定义内核可能无法自动检测新支持的硬件,需手动获取和加载驱动。

综上所述,虽然编译内核可提升对Linux的理解,但对于提升性能并非总是必要的。在进行上述优化操作时,需谨慎考虑,确保操作符合自身需求和系统配置。

Ubuntu系统优化全攻略(续)

前面我们介绍了Ubuntu系统优化的多种方法,包括加快系统启动速度、管理GNOME会话、停止等待获取地址、创建自定义预读配置文件、预链接以及优化内核等。接下来,我们将对这些优化方法的整体流程进行梳理,并给出一个简单的决策流程图,帮助大家更好地根据自身需求进行系统优化。

8. 优化流程梳理与决策

为了更清晰地展示Ubuntu系统优化的步骤和决策过程,我们可以将上述优化方法整理成一个流程图。以下是使用mermaid语法绘制的流程图:

graph TD;
    A[开始] --> B{是否对系统性能满意};
    B -- 否 --> C[加快启动速度];
    B -- 是 --> D[无需优化,结束];
    C --> C1[并行运行启动脚本];
    C --> C2[减少启动菜单延迟];
    C1 --> C3{启动速度是否提升};
    C3 -- 是 --> C4[继续其他优化];
    C3 -- 否 --> C5[恢复设置];
    C2 --> C4;
    C4 --> E[管理GNOME会话];
    E --> F{是否使用网络};
    F -- 是 --> G[停止等待获取地址];
    F -- 否 --> H[跳过此步骤];
    G --> I[创建自定义预读配置文件];
    H --> I;
    I --> J{是否需要进一步提升程序启动速度};
    J -- 是 --> K[配置预链接];
    J -- 否 --> L[跳过预链接];
    K --> M{预链接是否导致程序故障};
    M -- 是 --> N[停用预链接];
    M -- 否 --> O[保留预链接];
    L --> P{是否有能力编译内核};
    N --> P;
    O --> P;
    P -- 是 --> Q[优化内核];
    P -- 否 --> R[结束优化];
    Q --> R;

这个流程图展示了一个完整的Ubuntu系统优化流程。从开始判断是否对系统性能满意,到逐步进行各项优化操作,再到根据不同的优化结果进行相应的决策,最后完成整个优化过程。

9. 优化总结

下面我们将各项优化方法的关键信息进行总结,以表格的形式呈现,方便大家对比和回顾。

优化方法 操作步骤 注意事项
并行运行启动脚本 1. 在终端输入 gksu gedit /etc/init.d/rc 打开文件;
2. 将 CONCURRENCY 值从 none 改为 startpar
3. 保存文件并重启计算机。
若启动速度无改善,改回 CONCURRENCY=none
减少启动菜单延迟 1. 在终端输入 gksu gedit /etc/default/grub 打开文件;
2. 修改 GRUB_TIMEOUT 值;
3. 保存文件并退出。
值为 0 不建议,可能无法选择内核等。
管理 GNOME 会话 使用 Alt - F2 输入 gnome - session - properties 打开对话框,按需启用或禁用程序。 不同程序有不同建议设置,参考前文表格。
停止等待获取地址 1. 查看路由器 IP 范围;
2. 选择合适静态 IP 地址;
3. 手动设置网关、子网和 DNS 地址。
经常切换网络不建议使用。
创建自定义预读配置文件 1. 重启按步骤编辑启动项;
2. 按 Control - X 启动;
3. 再次重启。
首次启动时间会变长,等待磁盘活动停止。
预链接 1. 安装 prelink 软件;
2. 编辑配置文件;
3. 执行预链接扫描。
部分程序可能不兼容,可撤销。
优化内核 下载源代码编译自定义内核。 可能与现有模块不兼容,需自行更新。
10. 常见问题解答

在进行Ubuntu系统优化的过程中,大家可能会遇到一些常见问题,下面为大家解答:

  • 问:并行运行启动脚本后没有效果怎么办?
    答:可以将 /etc/init.d/rc 文件中 CONCURRENCY 的值改回 none ,然后重新启动计算机。
  • 问:预链接导致某个程序无法运行,该怎么解决?
    答:可以先使用 whereis 命令找到该程序的主二进制文件位置,然后使用 sudo prelink --undo 命令对该文件撤销预链接。如果问题仍然存在,可以对整个系统撤销预链接,并移除 prelink 软件包。
  • 问:编译内核有什么风险?
    答:编译内核可能会导致与已安装的二进制模块不兼容,需要自行更新这些模块。此外,Ubuntu可能会自动下载更新的预打包内核覆盖自定义内核,而且自定义内核可能无法自动检测新支持的硬件,需要手动获取和加载驱动。

通过以上的优化方法、流程梳理、总结以及常见问题解答,相信大家对Ubuntu系统的优化有了更全面的了解。在实际操作中,大家可以根据自己的需求和系统情况选择合适的优化方法,以提升系统的性能。希望大家都能让自己的Ubuntu系统运行得更加流畅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值