资讯专栏INFORMATION COLUMN

Linux使用systemctl启动服务报错: Error:No space left on dev

社区管理员 / 1247人阅读

一、现象与分析

CentOS 7.9使用systemctl启动nginx服务报错: Error:No space left on device。

image.png

(1)查看磁盘空间实际占用情况

image.png

2)查看磁盘inodes占用情况注:通过截图不难发现,磁盘和inodes使用率非常低,完全不应该出现磁盘满的情况。

image.png

二、问题解决

经过一番查阅资料,我发现了这样一句描述“By default, Linux only allocates 8192 watches for inotify, which is ridiculously low. And when it runs out, the error is also No space left on device, which may be confusing if you aren't explicitly looking for this issue.”

(1)查看CentOS7.9默认inotify的max_user_watches值

[root@192-168-0-45 ~]# sysctl fs.inotify
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 8192

# 查看更多inotify相关参数配置,可以通过man命令
[root@10-10-52-145 ~]# man inotify

注:可以发现,系统默认inotify的max_user_watches值的确为8192。

(2)再查看CentOS7.9当前使用量

[root@10-10-52-145 ~]# find /proc/*/fd -user "$USER" -lname anon_inode:inotify \
-printf '%hinfo/%f\n' 2>/dev/null \
| xargs cat | grep -c '^inotify'

8200

注:可以发现,其值已经超过了默认最大值。

(3)问题解决

# 调整max_user_watches大小,扩大10倍
[root@10-10-52-145 ~]# vim /etc/sysctl.conf 
fs.inotify.max_user_watches = 81920

# 刷新配置
[root@10-10-52-145 ~]# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
fs.inotify.max_user_watches = 81920

# 再次查看inotify
[root@10-10-52-145 ~]# sysctl fs.inotify
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 81920

#  服务验证
[root@10-10-52-145 ~]# systemctl restart nginx.service

注:可以看出,调整max_user_watches值后,报错消失。


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128112.html

相关文章

  • Docker 验证 Centos7.2 离线安装 Docker 环境

    摘要:安装和配置用户权限安装将依赖包上传到内网服务器指定目录没有报错验证启动服务搞定配置用户添加一个用户,专门管理。千万不要图省事,服务器上直接用管理容器可以安装又被坑了安装完都自带,版本的居然不带。 序 题记:搞定了就是故事,搞不定就是事故。 条件有限,开局只有一台开发机,要跑5套子系统组成的项目群。还要有一些辅助和验证的系统要跑在这上面。从配置来看,要想顺畅开心地完成项目群基础环境支撑,...

    wall2flower 评论0 收藏0
  • ArchLinux搭建高效便捷的平铺式桌面

    摘要:执行到此为止,基本系统已经安装完成,重启后登陆帐号开始搭建桌面环境。执行退出用户,并登陆新创建的用户。将当前聚焦的窗口移动到指定的工作区中。窗口水平分离,即新创建的窗口将会出现在当前窗口的右侧。关闭,将会导致所有窗口被关闭。 一不注意竟然已经三个多月没写文章了,十一月份总算找到感觉比较满意的实习工作了,同时把近视给弄好了,已经有十多年没有这么清晰地看过这个世界了:-D 前言 关于Arc...

    LittleLiByte 评论0 收藏0
  • linux命令最终篇

    摘要:系统基础相关使用用户的环境变量切换到用户显示当前工作路径显示当前系统默认语言及键盘布局显示系统中能支持的所有语言配置系统默认语言为中文重启机器关机退出当前的命令帮助列出命令的简短使用信息当使用报错时,需要运行命令生成索引文件日常使 系统基础相关使用root用户的环境变量切换到root用户 su -显示当前工作路径 pwd显示当前系统默认语言及键盘布局 localectl显示系统中能支持...

    lpjustdoit 评论0 收藏0
  • Centos7大管家systemctl

    摘要:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其他进程,根据管理,字母是守护进程的缩写,这个名字的含义就是它要守护整个系统。该命令可用于查看系统状态和管理系统及服务。 博文参考 http://www.178linux.com/48343 http://www.178linux.com/48674 http://www.178linux.com/485...

    qpal 评论0 收藏0
  • Centos7大管家systemctl

    摘要:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其他进程,根据管理,字母是守护进程的缩写,这个名字的含义就是它要守护整个系统。该命令可用于查看系统状态和管理系统及服务。 博文参考 http://www.178linux.com/48343 http://www.178linux.com/48674 http://www.178linux.com/485...

    PAMPANG 评论0 收藏0

发表评论

0条评论

社区管理员

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<