linux服务器清理内存方法(二)

在 Linux 服务器上清理内存有助于提高系统性能,避免内存不足的情况。以下是一些常用的清理内存的方法:

1. 清理缓存和缓冲区

Linux 系统会使用空闲内存来缓存文件和缓冲 I/O 操作,以提高性能。可以使用以下命令清理缓存和缓冲区:

# 清理页面缓存
sync; echo 1 > /proc/sys/vm/drop_caches

# 清理目录项和 inode 缓存
sync; echo 2 > /proc/sys/vm/drop_caches

# 清理页面缓存、目录项和 inode 缓存
sync; echo 3 > /proc/sys/vm/drop_caches

例如:
# 清理页面缓存、目录项和 inode 缓存
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

2. 使用 sync 命令

sync 命令将所有未写入磁盘的缓存数据写入磁盘,从而释放一些内存:

sync

3. 使用 free 命令查看内存使用情况

使用 free 命令查看当前的内存使用情况:

free -h
#输出示例:
              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.1G        4.2G        153M        1.5G        5.2G
Swap:          2.0G        0B          2.0G

4. 结束不必要的进程

使用 top 或 htop 命令查看当前运行的进程,并结束不必要的进程以释放内存。

top
或
htop
#在 top 或 htop 中,可以按 k 键,然后输入进程 ID(PID)以终止进程。

5. 使用 ps 命令查看内存占用

使用 ps 命令查找内存占用高的进程:

ps aux --sort=-%mem | head

6. 减少开机启动项

检查和减少开机启动项,可以减少系统启动时的内存占用。使用 systemctl 命令禁用不必要的服务:

systemctl disable 服务名
例如:
systemctl disable apache2

7. 调整交换分区 (Swap)

如果系统内存不足,可以调整交换分区的大小或创建交换文件:
创建交换文件:

# 创建一个1G的交换文件
sudo fallocate -l 1G /swapfile

# 设置交换文件权限
sudo chmod 600 /swapfile

# 将文件格式化为交换分区
sudo mkswap /swapfile

# 启用交换文件
sudo swapon /swapfile

# 将交换文件信息添加到 /etc/fstab,以便重启后自动启用
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
调整交换分区的使用优先级:
通过调整 vm.swappiness 参数,可以控制系统内存和交换分区的使用策略。值范围为 0 到 100,较高的值表示更倾向于使用交换分区。

# 临时调整
sudo sysctl vm.swappiness=10

# 永久调整
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

8. 卸载不必要的软件包

清理和卸载不必要的软件包和依赖项,以减少内存占用:

sudo apt-get autoremove
sudo apt-get clean
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容