处理内存不足、开启自动挂载、df和du命令详解

处理内存不足、开启自动挂载、df和du命令详解

一、内存不足

我的内存被吃了,无辜提示内存不足怎么办,但是在cache,buff中有看到大量的内存,如何释放

解决方案:

1、第一种方案

注意:以下三种都是临时释放缓存的命令

(1)命令:echo 1 > /proc/sys/vm/drop_caches

[root@WALKER ~]# free -m
total used free shared buff/cache available
Mem: 2827 221 2410 9 195 2452
Swap: 3071 0 3071
[root@WALKER ~]# echo 1 > /proc/sys/vm/drop_caches
[root@WALKER ~]# free -m
total used free shared buff/cache available
Mem: 2827 222 2543 9 61 2491
Swap: 3071 0 3071

[root@WALKER ~]# sysctl -w vm.drop_caches=1(两天命令作用相同!)
vm.drop_caches = 1
[root@WALKER ~]#

(2)清除目录缓存和inodes

[root@WALKER ~]# echo 2 > /proc/sys/vm/drop_caches

[root@WALKER ~]# sysctl -w vm.drop_caches=2(两条命令作用相同)
vm.drop_caches = 2
[root@WALKER ~]#

(3)清除内存页的缓存(如果buff和cache正在使用,这条命令是不可以用的!)

[root@WALKER ~]# echo 3> /proc/sys/vm/drop_caches

[root@WALKER ~]# sysctl -w vm.drop_caches=2(两条命令作用相同)

2、永久生效

编辑etc下的sysctl.conf文件,把命令写入其中!

[root@WALKER ~]# vim /etc/sysctl.conf
[root@WALKER ~]#

3、清理文件系统缓存

使用sync命令,可以用于清理僵尸进程

[root@WALKER ~]# sync

sync命令的作用:将内存缓冲区的数据,写入到磁盘中!

二、开机自动挂载文件

由于mount命令直接输入是临时生效的,下次重启,挂载的设备就无法使用了!/etc/fstab文件,是存放系统的一些静态文件地方,主要是系统启动的时候,系统默认的读取这个文件的信息,将指定挂载点进行挂载!

解析如上的参数

第一列:是一个设备的名字,可以是文件系统,也可以是设备名称,NFS文件系统

mount /dev/sdb1 /mnt 这是一种写法

mount 192.168.1.3:/home/nfs /mnt/ -o nolock 把本地的/mnt文件夹挂载到nfs文件系统上,且不加锁!

第二列:挂载点

就是自己创建的目录,或者已经存在的目录

第三列:linux能够支持的文件系统类型

第四列:挂载的功能选项,有很多,默认使用defaults

第五列:dump

表示将整个文件夹备份,一般不对挂载点备份,默认都是0

第六列:fsck 磁盘检查

默认都是0,不对磁盘进行检查,但是根文件系统,默认是检查的!

通过mount -a命令,可以读取/etc/fstab文件所有挂载情况,之后用mount -l 可以查看到!

三、df命令,检查挂载点

1、df命令,检查挂载点的使用情况

可使用的命令参数是

-h:显示kb,mb 单位大小

-i:显示inode数量

2、du命令,显示磁盘空间大小、文件大小的命令

linux文件存储最小单位是4K,也就是8个扇区

(1)du -h 显示文件大小,以kb mb为显示单位

[root@WALKER tmp]# touch test.txt
[root@WALKER tmp]# du -h test.txt
0 test.txt
[root@WALKER tmp]# echo 1 > test.txt
[root@WALKER tmp]# du -h test.txt
4.0K test.txt
[root@WALKER tmp]# du -h * (显示当前文件夹下所有文件大小)

(2)du -ah 显示目录中所有文件的大小

du -ah *

[root@WALKER tmp]# du -ah --max-depth=1 /home/
12K /home/slime
1.1M /home/nginx-1.20.2.tar.gz
20M /home/nginx-1.20.2
21M /home/
[root@WALKER tmp]#

[root@WALKER tmp]# du -ah *(显示当前目录下所有文件大小)

[root@WALKER tmp]# du -ah --max-depth=2 /home/(统计home目录下第二层文件夹的大小)

[root@WALKER tmp]# du -ah --exclude='*.conf' /home(统计home目录下所有文件大小,除了以.conf结尾的文件)

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部