xshell 连接虚拟机安装的 Linux 慢
1 | #ssh的服务端在连接时会自动检测dns环境是否一致导致响应慢 |
Centos Yum install 提示 Could not resolve host: mirrors.shuosc.org; Unknown error
http://mirrors.shuosc.org/centos/7.4.1708/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: mirrors.shuosc.org; Unknown error"
原因:DNS服务器错误
1 | vi /etc/resolv.conf |
Linux磁盘空间被未知资源耗尽
在Linux中, 当使用rm在linux上删除了大文件, 但是如果有进程打开了这个大文件, 却没有关闭这个文件的句柄, 那么 linux 内核还是不会释放这个文件的磁盘空间, 最后造成磁盘空间占用100%, 整个系统无法正常运行, 这种情况下, 通过
df
和du
命令查找的磁盘空间, 两者是无法匹配的, 可能df
显示磁盘 100%, 而du
查找目录的磁盘容量占用却很小, 遇到这种情况, 基本可以断定是某些大文件被某些程序占用了, 并且这些大文件已经被删除了, 但是对应的文件句柄没有被某些程序关闭, 造成内核无法收回这些文件占用的空间, 使用lsof -n | grep deleted
命令, 打印出所有针对已删除文件的读写操作, 这类操作是无效的, 也正是磁盘空间莫名消失的根本原因, 使用kill -9 PID
只需把进程删掉就能释放空间
Failed: No space left on device
问题 (磁盘空间满了或 磁盘的 Inode usage
[索引节点] 耗尽)
举个PHP碰到的问题, a 页面设置 session 后, b 页面无法获取, 即无法生成session文件
- 运行
df -lh
, 发现磁盘并没有满 - 运行
df -i
, 发现/dev/vda1
的Inodes
已经耗尽 - 运行
du -sh *
看哪个目录占用空间大, 再使用ls | wc -l
查看目录下的文件, 删除文件即可 - 目前仅在两种情况下发现
Inode usage
耗尽1
2
3
4
5
6#1. /tmp 下的 session 文件过多
#2. /var/spool/clientmqueue 文件过多, 如果系统中有用户开启了 cron, 而 cron 执行的程序有输出内容, 输出内容会以邮件的形式发给 cron 的用户,
#而 sendemail 没有启动所以就产生了这些文件, 为防止这种情况出现, 在 cron 的自动执行语句后加上 > /dev/null 2>&1
例:*/1 * * * * /bin/sh mscron.sh > /dev/null 2>&1
当 clientmqueue 文件过多时, 使用 "rm -rf *" 时候会提示"-bash:/bin/rm:Argument list too long" 意思是参数大长, rm 干不了,
可以用 "ls | xargs rm -f" 命令删除
firewalld 问题
1 | # 问题 |