linux文件被占用

 

  使用xshell的话可以先把当前窗口关掉

1> 如果文件是端口号

netstat -ntlp | grep portNum

复制代码
[root@localhost root]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:59708           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:43814           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:8649            0.0.0.0:*               LISTEN      1320/gmond          
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      1242/svnserve       
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1231/rpcbind        
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      19803/rpc.mountd    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1073/rsync          
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1216/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1774/cupsd          
tcp        0      0 0.0.0.0:39319           0.0.0.0:*               LISTEN      1227/rpc.statd      
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
tcp6       0      0 :::40259                :::*                    LISTEN      1227/rpc.statd      
tcp6       0      0 :::56109                :::*                    LISTEN      -                   
tcp6       0      0 :::111                  :::*                    LISTEN      1231/rpcbind        
tcp6       0      0 :::20048                :::*                    LISTEN      19803/rpc.mountd    
tcp6       0      0 :::80                   :::*                    LISTEN      4144/httpd          
tcp6       0      0 :::45553                :::*                    LISTEN      -                   
tcp6       0      0 :::21                   :::*                    LISTEN      1073/rsync          
tcp6       0      0 :::22                   :::*                    LISTEN      1216/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1774/cupsd 
复制代码

2>如果是普通文件

lsof 

fuser

3>如果是磁盘空间

du -sh : 查看当前目录总共占的容量。而不单独列出各子项占用的容量 

du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的磁盘容量

4> 如何释放缓存

用sync命令可以把内存中的数据写入硬盘,同时还有/proc/sys/vm/drop_caches这个文件可以。

关于drop_caches文件:系统默认为0, 在Documentation/sysctl/vm.txt中有如下描述:

drop_caches

Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.

To free pagecache:仅清除页面缓存(PageCache)
 echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:清除目录项和inode
 echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:清除页面缓存,目录项和inode
 echo 3 > /proc/sys/vm/drop_caches

As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first.

一般来讲 echo 1 > /proc/sys/vm/drop_caches就好。

勤苦修行得自在,道力有边边亦无边!
原文地址:https://www.cnblogs.com/zqq-blog/p/13269307.html