Ruby on Rails
でRedis
をインストールしたのですが、redis-server
を実行したところ
3435:C 07 Sep 22:45:59.975 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 3435:C 07 Sep 22:45:59.976 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=3435, just started 3435:C 07 Sep 22:45:59.977 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf 3435:M 07 Sep 22:45:59.979 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 4.0.9 (00000000/0) 64 bit .-`` .-```. ```/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 3435 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 3435:M 07 Sep 22:45:59.988 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 3435:M 07 Sep 22:45:59.989 # Server initialized 3435:M 07 Sep 22:45:59.989 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 3435:M 07 Sep 22:45:59.990 * DB loaded from disk: 0.000 seconds 3435:M 07 Sep 22:45:59.990 * Ready to accept connections
というエラーメッセージが出た。上のエラーの一部を翻訳すると、
3435:M 07 Sep 22:45:59.989#警告overcommit_memoryが0に設定されています!メモリ不足の状態でバックグラウンド保存が失敗する場合があります。この問題を修正するには、/ etc / sysctl.confに「vm.overcommit_memory = 1」を追加してから再起動するか、コマンド「sysctl vm.overcommit_memory = 1」を実行してこれを有効にします。
ということだったので、
- /etc/sysctl.confに「vm.overcommit_memory = 1」を追加
- コマンド「sysctl vm.overcommit_memory = 1」を実行してこれを有効
のどちらかを実行すれば良いと思い、sysctl vm.overcommit_memory = 1
を実行したところsysctl: permission denied on key 'vm.overcommit_memory'
というメッセージが出た。
要は拒否されたという意味だったので、/etc/sysctl.confに「vm.overcommit_memory = 1」を追加
を実行しようと思い「Redisを使う時は見積の二倍の容量必要だよね、という話」の「原因と解決策」を参考に解決しようと思ったのですが、/etc/sysctl.conf
がどこにあるのか分かりません。
Railsのディレクトリやファイルを調べても/etc/sysctl.conf
がないのでmkdir /etc/sysctl.conf
でディレクトリを作ろうと思ったのですが、mkdir: cannot create directory ‘/etc/sysctl.conf’: File exists
と出ます。
「そのファイルは存在している」という意味ですが、「Ctrl + P」で検索してもそんなファイルはないので困っています。
どうすれば良いでしょうか?
回答1件
あなたの回答
tips
プレビュー