现象描述:
1、系统ssh登录报Too many open files in system,系统登录不进去,就直接强制关机了,开机后出现(2)的错误:
由于文件描述符用完了,需要把fs.file-max改大一些。
2、开机后出现以下错误:
进去发现里面的好多命令不能用,文件也不能修改(都是只读模式),是由于不是正常关闭系统引起硬盘逻辑错误导致。
解决方法:
1、查看现有的文件描述符有多大:
cat /proc/sys/fs/file-max
修改文件描述符的大小:
vi /etc/sysctl.conf (没有file-max就自己加一个)
file-max = 5603433433
sysctl -p(使配置生效)
2、使用fsck命令修复文件系统:
功能说明:检查文件系统并尝试修复错误。 语 法:fsck [-aANPrRsTV][-t <文件系统类型>][文件系统...] 补充说明:当文件系统发生错误四化,可用fsck指令尝试加以修复。 参 数: -a 自动修复文件系统,不询问任何问题。 -A 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。 -N 不执行指令,仅列出实际执行会进行的动作。 -P 当搭配"-A"参数使用时,则会同时检查所有的文件系统。 -r 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。 -R 当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查。 -s 依序执行检查作业,而非同时执行。 -t <文件系统类型> 指定要检查的文件系统类型。 -T 执行fsck指令时,不显示标题信息。 -V 显示指令执行过程。
注:fsck 只能运行于未mount的文件系统,不要用于已mount的文件系统(除了启动时的只读根文件系统)。这是因为它存取原始磁盘,在操作系统不知道的情况下修改文件系统。
输入root密码后输入fsck(由于只有一个/dev/sda),一路Y下去。再重新启动服务器。