在前端开发中,不仅需要关注代码优化,还需要对机器的性能进行优化。本篇文章将介绍在 Linux 系统上进行性能优化的方法,包括系统调整和优化,让您的开发工作更加流畅。
1. 内存优化
1.1. swap 文件大小优化
swap 文件是虚拟内存空间的一部分,当内存不足时会将一部分内存数据通过交换到 swap 文件中,以达到扩展内存的目的。然而,过小的 swap 文件大小会导致系统内存不足、进而影响性能,因此需要优化 swap 文件大小。
可以运行以下命令查看 swap 文件大小:
$ free -h
接下来,可以按照以下步骤增加 swap 文件大小:
- 关闭 swap 文件:
sudo swapoff -a
- 删除 swap 文件:
sudo rm /swapfile
- 创建——例如——4G 大小的 swap 文件:
sudo fallocate -l 4G /swapfile
- 设置文件权限:
sudo chmod 600 /swapfile
- 格式化新的 swap 文件:
sudo mkswap /swapfile
- 启用新的 swap 文件:
sudo swapon /swapfile
- 确认 swap 文件大小已经被更改:
free -h
1.2. 内核内存参数优化
下面介绍内核内存参数的优化。这些参数控制了内存的管理和顺序。
1.2.1. vm.swappiness
vm.swappiness
参数是一个 0 到 100 的整数,表示系统多久以来没有使用某个内存页面后,将该页面移动到交换区域,因为内存页面是存储在物理内存中的。数值越高,系统就有更多的可能性将内存移动到交换区域。默认值应该是 60,但最好降低它以防止系统进入交换状态,例如:
sudo sysctl vm.swappiness=10
1.2.2. vfs_cache_pressure
vfs_cache_pressure
参数用来设置系统倾向于从内存中清除缓存容量,以释放内存。默认值为 100,可以将其减少以提高性能:
sudo sysctl vm.vfs_cache_pressure=50
2. 磁盘调整
下面介绍如何在 Linux 系统中进行磁盘调整。
2.1. 文件系统的类型
文件系统可以是 ext2、ext3、ext4、XFS、NTFS 等类型。这些文件系统类型具有不同的性能和特性。
ext2
是一个标准的二级文件系统;ext3
在ext2
上添加了一个日志文件系统。ext2
需要在恢复阶段扫描整个文件系统,遇到错误后停顿;ext4
是ext3
文件系统的下一代版本,具有更高的性能和安全性;XFS
是一个高性能文件系统,适用于大容量的文件系统、多处理器和集群;NTFS
是 Windows 的文件系统,但是应该尽量避免将 Ubuntu 系统与 NTFS 文件系统混合使用。
2.2. 文件系统的块大小
块大小是文件系统分配磁盘空间的最小单位。通常情况下,较小的块会导致更多的碎片,而较大的块则会导致浪费。因此,需要权衡你的系统类型和需求,选择适合的块大小。
2.3. 磁盘读写调整
文件系统和块大小调整完成后,还可以通过更改读写请求的优先级来提高系统性能。使用以下命令可以设置磁盘读写缓存机制:
sudo echo "deadline" > /sys/block/sda/queue/scheduler
其中,/sys/block/sda/queue/scheduler
是磁盘队列位置。
3. CPU 优化
下面介绍如何在 Linux 系统中进行 CPU 优化。
3.1. 禁用无用的服务
通过禁用不必要的服务,可以将 CPU 资源用于更重要的事情上。
例如,如需关闭一个名为 atd
的服务,可以使用以下命令:
sudo systemctl stop atd.service sudo systemctl disable atd.service
3.2. 调整 CPU 调度程序
CPU 调度程序负责将执行资源分配给不同的进程。Linux 的默认调度程序是 CFS,它是一个基于时间片和红黑树的调度程序。
sudo echo "1" > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag sudo echo "1" > /sys/kernel/mm/transparent_hugepage/enabled sudo echo "deadline" > /sys/block/sda/queue/scheduler
结论
Linux 系统上的性能优化包括了内存、磁盘和 CPU 的方方面面,下面是优化的摘要:
- 增大 swap 文件大小;
- 调整
vm.swappiness
和vfs_cache_pressure
参数; - 考虑文件系统类型和块大小;
- 调整磁盘读写请求;
- 禁用无用服务;
- 调整 CPU 调度程序。
这些优化方法是通用的、对针对大多数 Linux 系统的 Oracle、RedHat 和 Ubuntu 等系统都是适用的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674ec54fe884a3e30f29ca3b