Ubuntu Linux 系统优化
- 2024-06-02 17:30:00
- 丁国栋
- 原创 184
Ubuntu Linux目前非常流行,主要原因(我自己觉得)可能有以下几点:
- 背后有Debian这样稳定的系统的支持,且Ubuntu Linux提供了长期支持(LTS)版本,也因为如此我们在选择Ubuntu的版本时尽可能选择LTS版本;
- Ubuntu Linux相较Debian而言,包的版本更高一些、更新频率也高,在保证版本稳定的情况下可以使用更高一些的版本;
- Ubuntu Linux的用户较多,社区也比较活跃,很容易找到问题的解决方案,一些知名的软件也会对Debian/Ubuntu Linux发布专门的包,这也是选择它比较重要的原因;
- Ubuntu Linux的包管理较好用,除了官方的软件源外,也有一些第三方的软件源(例如PPA),可以提供一些额外的包,例如 ondrej/php 就支持安装多个版本的PHP,配合dpkg的update-alternatives命令可以方便的切换不同的版本;
- Ubuntu Linux的包提供了很多好用又合理的预设,比如配置文件的分目录管理,典型的像 /etc/default 、/etc/apache2/sites-enabled 等等;
- Ubuntu Linux对硬件的兼容性也比较友好,也有很多的硬件厂商专门提供了对Ubuntu的支持,比如显卡、网卡等等;
- Ubuntu Linux大版本升级相对容易,使用 do-release-upgrade 命令可以将Ubuntu的版本从一个低的稳定版升级到一个高的稳定版;
- 还有一些不一一列举;
关于系统优化有一些有趣的观点:
- 要做一些事情首先要搞懂它是什么,为什么,怎么做,但规则总是允许打破的,有时候也可以只关心怎么做;
- 过早优化是万恶之源,这里强调要先实现功能和满足业务需求,而不是把精力放到优化上;
系统安装完要做的一些配置或优化:
- 优化日志轮换。将 logrotate 日志轮换后的文件名称添加日期(默认是以自然数为结尾),在配置文件中添加 dateext 和 dateyesterday 即可。可以通过 man 8 logrotate 查看详细解释。这样的好处是在查找日志时可以一目了然知道某个日志文件是哪一天的,能快速地定位。
- 优化软件源。Ubuntu 24.04 LTS (Noble Numbat) 在安装时就会优化软件源,选择最快最优地软件源仓库,我们也可以自己手动优化,Debian中有一个包名为 netselect-apt 地包,可以通过 netselect-apt -c china -a amd64 计算最合适的软件源仓库;
- 优化 systemd-resolved.service。当使用DHCP协议时,通常会使用systemd-resolved.service服务解析域名,该服务负责本地域名解析。建议禁用这一服务,并且手动设置 /etc/resolv.conf 文件(注意这个文件是软链接,可以先删除再创建)。
- 优化 cloud-init.service。在Ubuntu中,cloud-init.service是一个服务,用于自动初始化和定制Linux发行版的实例。可以禁用该服务。
- 配置SSH。更改SSH端口号、禁用密码验证(仅使用ssh key登录)、设置 ClientAliveInterval 为合适的值(当 ClientAliveInterval 设置为非零值时,SSH 服务器每隔指定的秒数发送一次消息给客户端,以请求客户端的响应,这样可以避免超时断开连接,具体是否需要设置根据自己需要或者安全策略决定)、禁用PrintMotd、禁用UseDNS。
- 检查和配置swap分区。特别是云主机可能需要添加swap分区防止系统OOM杀掉关键进程,当然关键还是要做好监控以及防止内存占用过大,可以通过调整 oom_score_adj 甚至内核参数 vm.oom-kill 、vm.overcommit_memory。o om_score_adj oomoom_score_adj_score_adj
其他注意事项
- 如果内核版本较低且有新的内核可用,建议升级到较新的内核。否则有些特性可能会不支持,例如CPU cgroups 仅在较高版本的内核中才被支持 。
发表评论