Ubuntu Server 22.04 系统性能优化

ubuntu 系统是非常流行和常用的系统,但是在安装系统完毕后系统默认参数可能不太适合物理机性能和并发情况,本篇文章重点介绍通用的性能优化和简单的安全方案。

1、更换系统镜像源

将系统自带的镜像源更新为阿里的镜像源,可以提高软件下载速度。

1)先备份原有系统镜像源文件:

mv /etc/apt/sources.list /etc/apt/sources.listbak

2)创建新的镜像源文件并写入阿里镜像源

cd /etc/apt/
vi /etc/apt/sources.list

写入下方代码

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

2、更新升级系统软件包

定期更新升级系统软件包,可以修复系统漏洞、提高系统稳定性和性能,同时能够获取系统新发布的功能和特性。

# 获取最新的所有可更新的软件清单命令
sudo apt update
# 列出本次可更新的软件包及版本信息
# !!!注意:本次可能有内核更新或者大版本的软件更新,会有需要重启服务器或者对应的软件不需要升级的情况
apt list --upgradeable
# 如果不需要升级某软件,例如docker,可以参考如下命令
sudo apt-mark hold docker*
# 升级所有软件
sudo apt upgrade

3、设置 ulimit 的 open files:

先备份limit.conf文件

cp /etc/security/limits.conf /etc/security/limits.conf.bak

执行如下命令,写入文件更新配置,注意:验证时需要断开原ssh连接,重新打开新的连接验证

echo '* soft noproc 65535'>>/etc/security/limits.conf
echo '* hard noproc 65535'>>/etc/security/limits.conf
echo '* soft nofile 409600'>>/etc/security/limits.conf
echo '* hard nofile 409600'>>/etc/security/limits.conf

然后,在下面的两文件中加入:DefaultLimitNOFILE=204800

echo "DefaultLimitNOFILE=204800" >> /etc/systemd/user.conf
echo "DefaultLimitNOFILE=204800" >> /etc/systemd/system.conf

4、core文件设置

正确设置core文件的必要性:corefile 是Linux系统程序崩溃时生成的文件,可以用来分析程序崩溃的原因,因为它包含了程序崩溃时的内存堆栈信息。

1)设置生成core文件

echo "* soft core 4194304" >> /etc/security/limits.conf
echo "* hard core 4194304" >> /etc/security/limits.conf

2)设置core文件命名方式

/proc/sys/kernel/core_uses_pid 文件是用来控制生成的core文件的文件名中是否添加应用程序pid作为名称的扩展。

  • 值为1:表示添加pid作为文件名一部分,生成的core文件格式为core.pid;
  • 值为0:表示生成的core文件都是同一名称,新的core文件会覆盖旧的core文件。

可通过以下命令修改此文件:

echo "1" > /proc/sys/kernel/core_uses_pid

3)设置core文件保存位置和文件命名格式

proc/sys/kernel/core_pattern 文件可以控制core文件保存位置和文件名格式。
可通过以下命令修改此文件,可以将core文件统一生成到/data/corefile目录下,产生的文件名为core-命令名-pid-时间戳

echo "/data/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern

5、关闭防火墙ufw

如果没有特殊要求,防火墙可以不使用,毕竟防火墙就是起一个端口过滤作用,并且服务器机房单独配置的防火墙已经能搞定绝大部分,如果搞不定,估计ufw也够呛。
这里摘抄ubuntu官网的一段话,大家自行理解:

Ubuntu 配有 Uncomplicated Firewall(ufw),但默认情况下不会启动此防火墙。由于 Ubuntu 没有任何开放式网络服务(基本网络架构除外),在默认安装状态下,您并不需要通过防火墙来阻止有恶意企图的连接。(https://people.ubuntu.com/~happyaron/ubuntu-docs/precise-html/net-firewall-on-off.html)

sudo ufw disable # 停止并禁用自动启动
sudo ufw status # 查看防火墙状态,会输出结果:Status: inactive

6、 修改Linux主机hostname

修改主机hostname和host可以加快内网网络速度,没必要每次本地主机名解析都走网络。

  1. 使用hostnamectl修改主机名,同时更新/etc/hostname文件中的主机名
sudo hostnamectl set-hostname your_name
  1. 如果是云实例上运行Ubuntu,并且已安装cloud-init软件包,则还需要编辑/etc/cloud/cloud.cfg文件。
sudo vim /etc/cloud/cloud.cfg

在文件中搜索preserve_hostname,并将值从false更改为true:

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
  1. 按如下修改host
vi /etc/hosts
192.168.110.22 test01
192.168.110.33 test02
192.168.110.44 test03

7、sshd安全性优化

编辑ssh配置文件

vi /etc/ssh/sshd_config

如果文件中没有这两个配置则添加,如果有则需要修改为下面的配置值,配置完成后重启sshd服务

Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha1

重启sshd服务

systemctl restart sshd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/610183.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二叉树-堆

树 在数据库中,树是一种数据结构,用于组织和存储数据,使得可以高效地进行插入、删除和查找操作。它通常用于表示层次关系或者有序集合。 基本概念 节点:树结构中的每个元素都称为节点。 根节点:树的最顶端节点。 子…

智能奶柜:健康生活新风尚

智能奶柜:健康生活新风尚 在快节奏的都市生活中,健康与便利成为了现代人的双重追求。而在这两者交汇之处,智能奶柜应运而生,它不仅是科技与生活的完美融合,更是日常营养补给的智慧之选。 清晨的第一缕温暖 —— 新鲜…

《应用现代化技术能力成熟度评估模型》介绍

在中国软件行业协会、应用现代化产业联盟以及中国电子技术标准化研究院的指导下,产业多家企业共同支持和参与下,完成的《应用现代化技术能力成熟度评估模型》标准。该标准从应用敏捷、稳定可靠、安全可信、业务智能、成本优化五大维度及22个能力项来评估…

【Linux系统编程】第十四弹---进度条

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、回车和换行 2、观察回车换行现象 3、缓冲区 4、usleep和fflush函数 5、简单倒计时 6、进度条 6.1、版本一 6.2、版本…

基于Python的数据分组技术:将数据按照1, 2, 3规则分为三个列表

目录 一、引言 二、数据分组原理与意义 三、案例分析 四、代码实现与解释 五、对新手友好的解释 六、技术细节与扩展 七、实际应用场景 八、总结 一、引言 在数据处理和分析的广阔领域中,数据分组是一项基础且重要的任务。数据分组通常指的是将数据集中的元…

最新版在线客服系统源码

源码介绍 首发最新在线客服系统源码,优化更好并且重构源码布局UI 性能不吃cpu并发快,普通1H2G都能带动最新版只要是服务器都能带动 搭建即可使用,操作简单,易懂 修复了老版本bug 内附有搭建教程 gofly.v1kf.com 运行环境 Nginx 1.20 MySQL 5.7 演示截图

双筒水封式防暴器有诚信才会被信赖

选择一款满意的产品,始于需求,终于品质,有品质才会热爱,有诚信才会被信赖 一、用途介绍: STFB型双筒水封式防爆器属于双罐结构的水封式防爆器,安装在抽放瓦斯泵吸气侧和排气端的管路上靠防爆器底部的水封保…

使用Docker安装Nginx

一、Nginx介绍 Nginx 是一款高性能的开源 Web 服务器和反向代理服务器,具有高效能、高稳定性、低资源消耗等优点。可以处理大量并发请求,支持多种协议,还能实现负载均衡、缓存等功能,在互联网应用中被广泛使用。在Nginx中&#xf…

ros 学习记录(二)URDF小车运动控制

URDF小车运动控制 准备工作创建 robot_xacro.launch 接上文,想用键盘控制小车在Gazebo中移动。 准备工作 名称版本ROSNoeticGazebo11.11.0 创建 robot_xacro.launch 通过运行这个launch文件,可以启动Gazebo仿真环境,并在仿真环境中加载和…

Redis实现延迟队列(为订单超时关闭提供更多的解决方案)

电商场景中的问题向来很受面试官的青睐,因为业务场景大家都相对更熟悉,相关的问题也很有深度,也有代表性,能更方便地考察候选人的技术水平。 比如商品购买下单支付的流程,在买家购买商品后会先生成订单,之后…

Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案

文章目录 一、vue中使用el-table的typeindex有时不显示序号Table 表格显示索引自定义索引报错信息解决方案 二、vue中Missing required prop: “value” 报错报错原因解决方案 三、el-table的索引值index在翻页的时候可以连续显示方法一方法二 四、vue3中Element Plus全局组件配…

微信小程序流量主如何自定义广告组件后台控制广告显示方式附源码[收藏]

最近开发了一个微信小程序,开通了流量主,引用广告显示。本教程干货满满,附上代码,建议**【收藏点赞】** 微信小程序广告有以下几种:Banner广告、激励广告、插屏广告、视频广告、视频贴片广告、封面广告。 为了增加广告…

数字工厂管理系统如何助力企业数据采集与分析

随着科技的不断进步,数字化已成为企业发展的重要趋势。在制造业领域,数字工厂管理系统的应用日益广泛,它不仅提升了生产效率,更在数据采集与分析方面发挥着举足轻重的作用。本文旨在探讨数字工厂管理系统如何助力企业数据采集与分…

Java数组(如果想知道Java中有关数组的知识点,那么只看这一篇就足够了!)

前言:数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同,Java 语言中提供的数组是用来存储固定大小的同类型元素。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSD…

Kafka从0到消费者开发

安装ZK Index of /zookeeper/zookeeper-3.9.2 下载安装包 一定要下载-bin的,不带bin的是源码,没有编译的,无法执行。-bin的才可以执行。 解压 tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz 备份配置 cp zoo_sample.cfg zoo_sample.cfg-b…

Chronos:学习时间序列的大语言模型(论文解读)

前言 《Chronos: Learning the Language of Time Series》原文地址GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习过程中精读的一些论文,并对其进行了中文翻译。还有部分最佳示例教程。如果有帮助到大家,请帮忙点亮…

RAG技术简介

相关文档: 论文链接: https://arxiv.org/abs/2005.11401 课程链接: Tutorial/huixiangdou at camp2 InternLM/Tutorial GitHub 视频链接: 茴香豆:搭建你的 RAG 智能助理_哔哩哔哩_bilibili RAG是一种在LLM中广泛使…

echarts指标盘属性概括

echarts指标盘属性概括 代码 有模拟数据可以直接使用const options {animation: true,title: {top: "35%",left: "center",// text: "单元测试覆盖度", // 主标题itemGap: 15,textStyle: {// 主标题样式color: "#666666",fontSize:…

Spring MVC分页示例

Spring MVC分页示例 分页用于在不同部分显示大量记录。在这种情况下,我们将在一页中显示10、20或50条记录。对于其余记录,我们提供链接。 我们可以在Spring MVC中简单地创建分页示例。在此分页示例中,我们使用MySQL数据库来获取记录。 创建…

MySQL索引优化(超详细)篇章2--索引调优

目录 1.索引失效状况2.性能分析3.表的索引信息--调整索引顺序4.删除冗余索引5.最佳左前缀法则5.1下面是一个实际的例子来说明这个概念: 6.数据长度和索引长度占用空间比较 1.索引失效状况 MySQL索引失效通常指的是查询语句无法有效地利用索引,而导致全表…
最新文章