Linux使用遇到过的问题
1、 rm报错"Directory not empty"
(1)问题描述:rm无法删除指定目录,提示该文件夹 ”非空“。
(2)出现原因:目录下文件被其他进程使用,所以无法删除。
(3)解决方法:
cd directory # 进入该目录
ls -a # 查找出隐藏的文件
lsof file # 看隐藏文件被哪个进程调用
kill -9 PID # 把进程杀掉
rm -r directory # 可正常删除文件夹
2、查找IP、主机名与(主机)别名的关系
配置文件/etc/hosts记录了三者的关系:
3、修改Linux服务器root@后面的别名(修改主机名)
修改配置文件/etc/hostname,并重新登录服务器即可。
4、集群某个根目录下的文件无法打开
(1)出现原因:自动挂载autofs失效;
(2)解决办法:重启动服务,重新挂载;
5、集群负载很高
(1)问题描述:登录(计算)节点卡顿,top中的load average值很高,在50以上;
(2)出现原因:
1、登录节点的后台,有大量状态“D”的任务;
2、任务的实际资源需求,超过当初的申请;
(3)解决办法:
1、针对原因①,可以通过“ ps -aux ”命令来查找,并杀掉。如果部分USER显示的是别名,可以通过 getent passwd user来详细了解是谁的账号,家目录在哪里。
2、针对原因②,要查看任务申请的线程、内存数;查看任务实际使用的线程、内存数量;推算节点的最大线程数,与实际使用的任务总线程数对比。小于便会卡,且影响线程寿命,申请的线程、内存要符合实际。
eg:
(1)计算节点X下,运行了5个任务,申请的均为线程n=4,内存g=12G;qstat -j jobid中hard信息。
(2)查看目前实际使用的线程,内存。qstat -j jobid中usage信息,vmem为实际使用的平均内存,15G;查看sh文件知,命令行使用了8个线程;
(3)该计算节点有20个核,每个核有1.75个线程,总线程数量n = 35;此时5个任务实际使用的线程为5*8=40,超过了节点能力极限,任务运行卡顿,且影响节点寿命。
6、setfacl细分文件权限
(1)问题描述
账号A需要访问账号B的某目录,为了安全,又不想给账号A添加账号B的属主。
(2)问题原因
账号A、B不同属主,但工作又有交叉,B已离职,现账号A需要读写、访问账号B该目录下所有文件。
(3)解决办法
通过setfacl命令的 -m参数改变文件的账号、属组关系,通过getfacl来查看修改效果;
setfacl命令的基本用法