1. 关闭kdump

阿里云提供的系统镜像默认开启了 kdump 服务,当 Linux 内核出现了故障时 kdump 会协助产生一个 dump 文件,记录下此时的内存运行参数等信息,便于用户后续对内核问题的定位分析。

这一服务对于那些注重安全的大公司来说可能会有些用处,但我们这种个人用途的低配置服务器也开着的话就没有什么必要了,本身内存就不大,还要为这服务分出去一部分不能用,想想还是有点浪费的。

下面以centos为例关闭kdump:

编辑 kdump 配置文件

1
sudo vim /etc/kdump.conf

注释里面所有内容,每个机器可能不一样。

停止 kdump 服务

1
sudo systemctl stop kdump.service

禁用 kdump 服务

1
sudo systemctl disable kdump.service

验证 kdump 状态

1
systemctl status kdump.service

2. 开启虚拟内存

首先,你可以使用以下命令检查当前的交换空间:

1
swapon --show

如果没有输出,表示没有启用任何交换空间,使用以下命令创建交换空间:

1
sudo fallocate -l 1G /swapfile

确保交换文件的权限设置正确:

1
sudo chmod 600 /swapfile

将创建的文件格式化为交换空间:

1
sudo mkswap /swapfile

使用以下命令启用交换空间:

1
2
sudo swapon /swapfile
swapon --show

看到如下输出说明开启成功:

我们可以降低一下虚拟内存的优先级,因为虚拟内存的性能不是很好:

1
vim /etc/sysctl.conf

在里面添加一行:

1
vm.swappiness=10

可以使用free -m来查看内存使用情况,这边推荐一个更好用的工具htop:

1
2
3
sudo yum install epel-release
sudo yum install htop
htop

htop界面中,你可以使用方向键浏览进程,并且按下k就可以结束这个进程,按q可退出程序。并且它还可以根据内存/CPU占用大小进行排序。

另外还有一个很好用的工具ncdu,可以查看系统的磁盘占用情况,具体安装和使用可以看这个: