有updatedb
必要吗?我从不使用locate
,我的服务器往往有数以百万计的文件,这通常会使 updateb 运行很长时间并消耗 MySQL 和/或其他软件所需的 I/O。
我可以从 cron 中删除它并期望一切正常吗?(我的意思是在服务器上找到的常用软件:linux、cpanel、mysql、apache、php 等)。
我有一个/dev/md127
mdadm RAID 0 阵列,前段时间安装为/mnt/storage1
. 在某些时候,我打开了一个 bash 会话并将 CWD 更改/mnt/storage1
为 bash 会话仍然处于活动状态。然后我决定卸载阵列并销毁它,所以我做了:
/# umount /mnt/storage1
Device or resource busy msg
/# umount -l /mnt/storage1
(Succeeded)
/# rmdir /mnt/storage1
(Succeeded)
Run Code Online (Sandbox Code Playgroud)
我确认/mnt/storage1
已删除。mount
未显示/dev/md127
为已安装。尽管如此,我提到的 bash 会话仍然有/mnt/storage1
它的工作目录:
/mnt/storage1# _
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试停止并销毁 /dev/md127 数组时,我得到了回报:
/# mdadm --stop /dev/md127
mdadm: Cannot get exclusive access to /dev/md127:Perhaps a running process, mounted filesystem or active volume group?
Run Code Online (Sandbox Code Playgroud)
lsof
没有列出任何文件仍然在 /dev/md127 或 /mnt/storage1 上打开
/# lsof |grep storage1 …
Run Code Online (Sandbox Code Playgroud) 由给定打开的 UNIX 域套接字作为 的符号链接$PID
列出。我知道它是该套接字的标识符,但它到底是什么?它是 inode 吗?它到底是一个索引节点吗?/proc/$PID/fd/X
[socket:ID]
sockfs
# stat /proc/15474/fd/18
File: /proc/15474/fd/18 -> socket:[100754490]
Size: 64 Blocks: 0 IO Block: 1024 symbolic link
Device: 4h/4d Inode: 100753577 Links: 1
Access: (0700/lrwx------) Uid: ( 999/mysql) Gid: ( 999/ docker)
Access: 2020-08-14 10:08:09.834593933 +0200
Modify: 2020-08-14 10:08:07.842537799 +0200
Change: 2020-08-14 10:08:07.842537799 +0200
Run Code Online (Sandbox Code Playgroud) linux ×3
io ×1
mdadm ×1
mount ×1
open-files ×1
performance ×1
proc ×1
socket ×1
unmounting ×1
updatedb ×1