根据《2023-2024年中国操作系统市场研究报告》,银河麒麟操作系统生态建设在国内操作系统领域处于领先地位,生态成熟度在商业桌面和服务器端排名第一。
作为一种高性能、高可靠性的操作系统,银河麒麟操作系统的性能优化涉及多个方面。主要包括硬件设备、BIOS设置、系统服务、核心、库、编译器、磁盘和文件系统、JVM虚拟机、Shell和磁盘I/O调度。今天,我们将重点介绍几个基本概念和简单的性能优化优化技巧。
01 硬件设备
即使配置相同,不同硬件设备的实际性能也会有所不同。例如,同样配置的计算机、不同品牌或型号的CPU、在数据处理速度、响应时间等方面,内存、硬盘等可能存在差异。
02 BIOS
BIOS中的一些选项与硬件性能有关。打开某些选项可以提高性能。例如,特定的BIOS设置可能会影响CPU的瑞频功能,从而影响CPU的性能。
03 系统服务
在某些情况下,关闭某些系统服务可以提高性能。
例如,打开firewalld服务管理防火墙规则,防火墙规则处理在高负荷下可能占用大量CPU资源。
打开sshd服务,如果有大量的ssh连接,该服务可能会占用大量的CPU和内存。
samba服务开通后,文件共享操作可能会占用大量CPU、内存,网络带宽。
配备docker服务管理容器,可能会占用大量的系统资源。
运行Web服务器、数据库服务等也会占用大量的系统资源。
04 内核
核心是操作系统的核心部分,其版本、补丁、编译选项、核参数等都会影响性能。例如,不同的核心版本可能对新硬件有不同的支持,优化算法也可能不同,从而影响系统的整体性能。
作者使用的银河麒麟操作系统V4、V10、V10 SP1,一路使用,确实有了很大的提升。CPU也从飞腾2000变为飞腾腾锐D2000,4核变为8核。
05 库
图书馆是一个预先编译的二进制代码集,提供其他程序调用的各种功能和API(应用程序编程接口)。它分为静态图书馆和动态图书馆,在安装、存储、移植和加载方面都有自己的优缺点。图书馆对性能的影响反映在测试程序链接动态图书馆的数量和动态图书馆的版本上。简单的理解是,需要加载的动态图书馆在更多时会下降。
既然我们谈到了图书馆,我们将介绍相关的软件包管理。银河麒麟操作系统中的APT软件包管理工具是系统更新和维护的重要工具。以下三个常用命令已多次介绍。这里有两句冗长的话。
apt update:从系统的软件源中获取最新的软件包列表。
apt upgrade:将所有已安装的软件包升级到最新版本,以确保系统中的软件包保持最新和安全。
apt autoremove:自动删除不再使用的软件包,释放系统的存储空间。
麒麟操作系统可以通过使用软件包管理工具轻松更新和维护,提高系统的稳定性和安全性。
06 编译器
编译器的版本和参数会影响性能。例如,不同版本的GCC编译器可能会有不同的编译优化算法,其默认参数也可能会影响编译后的程序性能。
07 磁盘和文件系统
磁盘的容量和类型对性能、分区类型和负载参数有很大的影响。
一般来说,SSD固态硬盘的读写速度远高于HDD机械硬盘。我们必须优先考虑SSD固态硬盘。当然,容量越大越好。
不同的文件系统在不同的读写场景中有不同的性能。例如,EXT4文件系统成熟稳定,适合安装系统 /boot 分区、/ 根分区,但在一些高并发性、高扩展性的应用场景中,性能不如XFS。您可以根据自己的需要进行选择。例如,如果数据分区主要用于存储用户数据和应用程序数据,则使用EXT4;如果用于并发写入大量数据,可以选择XFS。
08 JVM虚拟机
JVM虚拟机的版本和参数(如 -Xms、-Xmx等)会影响性能。在某些环境下,jdk – 1.7的跑分可能高于jdk – 1.8,不同的JVM启动参数组合会影响内存分配和垃圾回收等机制,进而影响性能。
09 Shell
Shell的版本和类型对性能有影响,可以通过升级和更换Shell来确定是否会影响性能。
10 磁盘I/O调度
首先介绍银河麒麟操作系统中几种常见的I/O调度器:
- cfq:完全公平地排队。CFQ将这个过程分成不同的队列,并试图公平地分配磁盘访问时间。这是早期Linux内核的默认调度算法。
- deadline:截止日期调度器。Deadline调度器设置截止日期,确保每个I/O请求在一定时间内处理。
- noop(none):最简单的先进先出(FIFO)策略。由于固态硬盘支持随机读写,所以固态硬盘可以选择这种最简单的调度策略,性能最好。
- bfq:公平排队算法的改进。适用于需要高响应性的场景,旨在提供更好的响应时间和吞吐量。
使用以下命令查看当前操作系统的I/0策略:
cat /sys/block/sda/queue/scheduler
我们发现默认使用系统[bfq]改进公平排队算法。如果需要一个低延迟的应用程序,可以将I/O调度器设置为deadline。:
echo deadline > /sys/block/sda/queue/scheduler
I/O调度器已成功设置[mq-deadline]。
文末介绍了两个关于性能查询分析的Linux命令。
1.vmstat是Linux中常用的监控内存的工具,可以监控虚拟内存、过程、CPU等操作系统的整体情况。
2.top是一个命令行工具,可以实时显示系统中各个过程的资源占用情况,并且可以实时查看CPU、使用内存、磁盘等资源。
当系统响应缓慢时,您可以通过top命令检查一个过程是否占用了太多的CPU或内存资源,然后优化或调整过程的优先级。您可以使用以下命令:
kill [进程号]
先消除占用资源过多的过程。
暂无评论内容