已解决:vncserver服务失败,超出了配置的资源限制

时间:2020-02-23 14:40:41  来源:igfitidea点击:

在Red Hat Linux 7安装程序上重新启动Tigervnc服务时,收到以下错误消息" vncserver服务失败,因为超出了配置的资源限制"。
vncserver service failed because a configured resource limit was exceeded

从错误消息开始,似乎我的系统资源已经被vncserver浸透了,这就是为什么vncserver服务无法启动的原因。
因此,要做的第一件事就是尝试研究ulimit。
因此,当实际问题是其他问题时,消息(由于超出了已配置的资源限制,vncserver服务失败)看起来有点误导。

如何修复"由于超出了配置的资源限制,vncserver服务失败"?

尝试启动vncserver服务时,我们收到此错误消息(由于超出了配置的资源限制,vncserver服务失败)。

# systemctl start vncserver@:1.service
Job for vncserver@:1.service failed because a configured resource limit was exceeded. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.

另外,如果我们检查服务的状态,则会发现" PID文件/root/.vnc/openstack.example:1.pid启动后不可读(尚未?
)"消息再次使我感到困惑,因为对PID的许可文件看起来正确,当我知道vnc服务运行正常时,它不会突然更改。

[root@openstack tmp]# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: failed (Result: resources) since Sat 2016-09-22 23:16:03 IST; 4s ago
Process: 8381 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
Process: 8376 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Sep 22 23:16:00 openstack.example systemd[1]: Starting Remote desktop service (VNC)...
Sep 22 23:16:03 openstack.example systemd[1]: PID file /root/.vnc/openstack.example:1.pid not readable (yet?) after start.
Sep 22 23:16:03 openstack.example systemd[1]: Failed to start Remote desktop service (VNC).
Sep 22 23:16:03 openstack.example systemd[1]: Unit vncserver@:1.service entered failed state.
Sep 22 23:16:03 openstack.example systemd[1]: vncserver@:1.service failed.

经过一番浏览后,我知道Red Hat出现了一个类似问题的错误。
错误1410164tigervnc-server如果无法正常关闭,将无法删除/tmp文件和/tmp /.X11-unix /,如果tigervnc服务没有正常停止。
Systemd无法重新启动服务,直到手动删除这些文件,并出现错误" vncserver @:2.service的作业失败,因为超出了配置的资源限制。
请参阅" systemctl status vncserver @:2.service"和" journalctl -xe"有关详细信息。
"

以下文件列表可能会出现在/tmp文件中

/tmp/.X11-unix:
total 8
drwxrwxrwt. 2 root root 4096 Sep 22 23:09 .
drwxrwxrwt. 18 root root 4096 Sep 22 23:11 ..
srwxrwxrwx 1 root root 0 Sep 22 21:41 X0
srwxrwxrwx 1 root root 0 Sep 22 18:59 X1
srwxrwxrwx 1 root root 0 Sep 22 23:08 X10
srwxrwxrwx 1 root root 0 Sep 22 23:08 X11
srwxrwxrwx 1 root root 0 Sep 22 23:09 X12
srwxrwxrwx 1 root root 0 Sep 22 22:13 X2
srwxrwxrwx 1 root root 0 Sep 22 21:34 X3
srwxrwxrwx 1 root root 0 Sep 22 21:35 X4
srwxrwxrwx 1 root root 0 Sep 22 21:35 X5
srwxrwxrwx 1 root root 0 Sep 22 21:36 X6
srwxrwxrwx 1 root root 0 Sep 22 21:36 X7
srwxrwxrwx 1 root root 0 Sep 22 21:36 X8
srwxrwxrwx 1 root root 0 Sep 22 21:41 X9
/tmp/.XIM-unix:
total 0
# ls -al /tmp/.*
-r--r--r-- 1 root root 11 Sep 22 23:08 /tmp/.X10-lock
-r--r--r-- 1 root root 11 Sep 22 23:08 /tmp/.X11-lock
-r--r--r-- 1 root root 11 Sep 22 23:09 /tmp/.X12-lock
-r--r--r-- 1 root root 11 Sep 22 22:13 /tmp/.X2-lock
-r--r--r-- 1 root root 11 Sep 22 21:41 /tmp/.X9-lock
# ls -al /tmp/.
./../.esd-0/.ICE-unix/.X10-lock .X11-unix/.X2-lock .XIM-unix/.font-unix/.Test-unix/.X11-lock .X12-lock .X9-lock

要解决此问题,我们必须手动清除tigervnc服务创建的临时文件,如下所示

# rm -f /tmp/.X11-unix/X1

下次重新尝试启动vncserver服务

# systemctl start vncserver@:1.service

因此,看起来该解决方案有效。

# systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2016-09-22 23:18:57 IST; 2min 17s ago
Process: 10897 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
Process: 10892 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 10934 (Xvnc)
CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
‣ 10934 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop openstack.example:1 (root) -fp catalogue:/etc/X11/fontpath.d -g...
Sep 22 23:18:54 openstack.example systemd[1]: Starting Remote desktop service (VNC)...
Sep 22 23:18:57 openstack.example systemd[1]: Started Remote desktop service (VNC).