由于服务器的磁盘比较大,有100T(制作挂载数据盘使用的)
突然连续几天,连接服务器的时候发现操作有卡顿、制作反应挂载的磁盘反应迟钝。继而查找原因
监控方式:
方法一:
$yum -y install iotop
$ iotop -oP
方法二:(可以监控cpu、内存、硬盘)
- 在Debian/Ubuntu系统中可以使用下面的命令来安装:
apt-get install sysstat
- CentOS/Fedora/RHEL版本的linux中则使用下面的命令:
yum install sysstat
$ pidstat -d 1
- -u:默认的参数,显示各个进程的cpu使用统计
- -r:显示各个进程的内存使用统计
发现除了一些常用的进程消耗磁盘IO之外, updatedb 进程 io 消耗太大
updatedb 命令是用于产生文件系统的索引的。这些索引的作用是,在你使用 locate 命令时,可以迅速定位到文件的路径,而 find 命令就真的需要当场执行查找。
如果你经常依赖 locate 命令,就不要干涉 updatedb,如果不经常使用,就没关系了,可以干掉。
据我所知是没有什么副作用。
updatedb命令 用来创建或更新slocate命令所必需的数据库文件。updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入slocate数据库文件中。
补充说明:slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。
locate 是非实时的模糊查询, 根据全系统文件的数据库进行,但是locate的速度是快于find的
解决方式:
可以在/etc/updatedb.conf配置文件中添加要跳过更新的大文件目录
PRUNE_BIND_MOUNTS = "yes"'
开启搜索限制
PRUNEFS =
搜索时,不搜索的文件系统
PRUNENAMES=
搜索时,不搜索的文件类型
PRUNEPATHS=
搜索时,不搜索的路径