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连接,重新打开新的连接验证;root用户需要显式配置

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
# 注意:以下是root用户的配置,ubuntu 系统root用户必须显式指定配置
echo 'root soft noproc 65535'>>/etc/security/limits.conf
echo 'root hard noproc 65535'>>/etc/security/limits.conf
echo 'root soft nofile 409600'>>/etc/security/limits.conf
echo 'root 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.mzph.cn/bicheng/10058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时间序列预测模型实战案例(三)(LSTM)(Python)(深度学习)时间序列预测(包括运行代码以及代码讲解)

目录 引言 LSTM的预测效果图 LSTM机制 了解LSTM的结构 忘记门 输入门 输出门 LSTM的变体 只有忘记门的LSTM单元 独立循环(IndRNN)单元 双向RNN结构(LSTM) 运行代码 代码讲解 引言 LSTM(Long Short-Term Memory)是一种常用的循环神经网络&a…

Android 如何启用user版本的adb源码分析

通过adb shell中执行getprop persist.sys.usb.config,可以看到系统usb的相关选项,persist.sys.usb.config显示的就是当前系统关于usb选项的系统配置【RK3188Android4.4刚移植的例子】: 全编脚本中make命令会调用build/core/main.mk,在里面可以看到一段…

安全工程师面试题

安全工程师面试题安全工程师是一个非常重要的职位,他们负责保护公司的网络和系统免受黑客和恶意软件的攻击。如果你想成为一名安全工程师,那么你需要准备好面试。下面是一… 1安全工程师面试题 安全工程师是一个非常重要的职位,他们负责保护…

数组小游戏

练习1:多个字符从两端移动,向中间汇聚(go to beijing) char arr1[]"go to beijing"; char arr2[]"*************";记住,数组元素通过下标访问 第一步,我们想将 (arr1的第一个元素) 放…

SearXNG - 一个注重隐私的互联网元搜索引擎

引言 在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各…

后仿真中的必懂VCS仿真选项之+nospecify/+notimingcheck/+no_notifier

今天,抽空学习和整理一下后仿真中的VCS仿真选项之nospecify/notimingcheck/no_notifier共三个选项。“后仿真很重要,坚持点滴学习” 1 选项:nospeicy 在仿真时忽略库文件中指定的延时。 2 选项:notimingcheck 时序检查开关&…

图解HTTP(2、简单的 HTTP 协议)

HTTP 协议用于客户端和服务器端之间的通信 请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一端称为服务器端。 通过请求和响应的交换达成通信 请求必定由客户端发出,而服务器端回复响应报文 请求报文是由请求方法、请求 URI、协议版本、…

React Hooks实战:从useState到useContext深度解析

useState和useContext深度解析 React Hooks 彻底改变了React组件的状态管理和功能复用方式,使得函数组件也能拥有类组件的功能。 useState:函数组件的状态管理 简介: useState是React中最基础的Hook,它允许我们在函数组件中添…

鸿蒙HarmonyOS开发:List列表组件的使用详解及案例演示(二)

文章目录 一、List组件简介1、List组件2、ListItem组件3、ListItemGroup组件 二、使用ForEach渲染列表三、设置列表分割线四、设置List排列方向五、索引值计算规则六、示例演示1、AlphabetIndexer组件2、代码3、效果 一、List组件简介 在我们常用的手机应用中,经常…

OceanBase OAT安装

本文介绍如何 Docker 部署 OAT。 前提条件 在部署 OAT 之前,您需要确认以下信息: 您的操作系统满足以下条件: 服务器类型操作系统支持版本x86_64RHEL7.2 及以上版本x86_64CentOS7.2 及以上版本x86_64AliOS7.2 及以上版本x86_64openSUSE12SP…

SinoDB数据库导入导出工具External table

External table又叫SinoDB外部表,外部表采用多线程机制,支持多线程读取、写入数据文件以及多线程数据转换、插入操作。多线程机制只需要消耗相对较少的系统资源,但是能提供高速数据导入、导出,可以应用在数据采集、表重建、数据库…

OpenGL入门第四步:摄像机视角变换与交互

OpenGL入门第一步:创建窗口、重写虚函数-CSDN博客 OpenGL入门第二步:颜色、纹理设置(解析)-CSDN博客 OpenGL入门第三步:矩阵变换、坐标系统-CSDN博客 目录 函数解析 具体代码 函数解析 相机视角变换需要与鼠标键盘进行交互,需要重写鼠标和键盘响应函数。 初始化 …

【机器学习】 人工智能和机器学习辅助决策在空战中的未来选择

🚀传送门 🚀文章引言🔒技术层面📕作战结构🌈替代决策选项🎬选项 1:超级战争(Hyperwar)🌠选项 2:超越OODA🌂选项 3:阻止其他…

MySQL的表级锁

📝个人主页:五敷有你 🔥系列专栏:面经 ⛺️稳中求进,晒太阳 表级锁 介绍 对于表锁,分为两类: 表共享读锁表独占写锁 语法 1. 加锁:lock tables 表名... read/write 2.…

MySQL数据库的安装和部署

1.数据库的相关介绍 关系型数据库管理系统:(英文简称:RDBMS) 为我们提供了一种存储数据的特定格式,所谓的数据格式就是表, 在数据库中一张表就称为是一种关系. 在关系型数据库中表由两部分组成&#xf…

电信网关配置管理系统 rewrite.php 文件上传致RCE漏洞复现

0x01 产品简介 中国电信集团有限公司(英文名称“China Telecom”、简称“中国电信”)成立于2000年9月,是中国特大型国有通信企业、上海世博会全球合作伙伴。电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员实现对网关设备的远…

threejs 根据离散点生成不规则三角网(三角剖分),检测点是否在该三角网内(区域搜索)

我们知道threejs中的模型都是一个个三角网组成的,三角网数量越多,模型就越精细。 在 Three.js 中,你可以通过创建一个三角网格对象来表示三维模型,这个对象通常由一个顶点数组和一个索引数组构成。顶点数组包含了模型的各个顶点的…

Linux 进程信号【信号产生】

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:Linux知识分享⏪   🚚代码仓库:Linux代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝 目录 前言 信号概念 1. 生活角度的信号 2…

Java入门基础学习笔记1——初识java

1、为什么学习java? 几乎统治了服务端的开发;几乎所有的互联网企业都使用;100%国内大中型企业都用;全球100亿的设备运行java。开发岗位薪资高。 Java的流行度很高,商用占有率很高。 可移植性。 2、Java的背景知识 …

手机录屏怎么录?简单易懂的教程,让你轻松上手!

随着科技的不断发展,手机录屏已经成为人们日常生活中一个非常普遍的需求。无论是录制游戏精彩瞬间、分享App使用教程,还是保存线上会议、录制网课,手机录屏都发挥着重要作用。可是你知道手机录屏怎么录吗?本文将详细介绍三种手机录…