CentOS7でVNCを使う
CentOS7の操作をVNCにて行うため、yumコマンドでVNCをインストールします
yum install tigervnc-server
パスワードやサービスの設定、F/Wの通信許可を行いサービスの起動すると、何やら失敗している旨のエラーメッセージが表示されます。
# systemctl start vncserver@:1
Error: Too many open files
Job for vncserver@:1.service failed because a configured resource limit was exceeded. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.
エラー内容はsystemctl status vncserver@:1.serviceもしくはjournalctl -xeで確認してという事です。
そしてコマンドを叩くと以下のようなエラーが出力されました。
# systemctl status vncserver@:1.service
Failed to set a watch for vncserver@:1.service's PID file /home/***/.vnc/***:1.pid: T...en files
右端が「T...en files」となっていますが、Too many open filesを省略表示しているだけのようです。
※journalctl -xeだとToo many open filesのエラー表示を確認できました。
(スポンサーリンク)
Too many open filesとは
Too many open filesとは、Linuxでプロセスが開けるファイルディスクリプタの上限のこと。
何かとエラーの原因になる事が多いようです。
上限値を少なくして利点があるのかといえば全くの不明で、デフォルト値1024がそもそも多いのか少ないのかもよくわかりません。
多めの値に設定すると、パフォーマンスが落ちる等の判りにくいデメリットがもしかしたら存在するのかもしれません。
ただこのエラーが出た場合、そのままにしておいてもサービスが利用できないため、Too many open filesの上限値を引き上げます。
上限の確認可能方法
以下のコマンドで確認することができます。
# ulimit -n
1024
で、増やすにはどうすればいいの?
インターネット上に色々情報が山積していますが、微妙に情報が古かったり書いてあることが違っていたりと、どれが正しいのかイマイチわかりません。
テスト環境の利点を活かして、一通り試していき、下記サイトの情報が有用でした。
http://blog.father.gedow.net/2016/03/28/limits-of-systemd/
参考サイトでは設定上限値の1006500を設定していますが、多すぎてちょっと不安がありましたから、65536で設定します。
上限を増やす方法
ディレクトリ作成
mkdir /etc/systemd/system/rsyslog.service.d
limits.conf作成
vi /etc/systemd/system/rsyslog.service.d/limits.conf
limits.confの中身
[Service]
LimitNOFILE=65536
LimitNPROC=65536
再起動
reboot
上限確認
# ulimit -n
65536
増えているー
状態確認
# systemctl status vncserver@\:1
(中略)
Active: active (running)
VNCが起動しているー
端末からVNCクライアント経由でログインできることを確認して完了です。
0 件のコメント:
コメントを投稿