※ ChatGPTを利用し、要約された質問です(原文:メッセージキューへ書き込める量を増やしたい)
メッセージキューの容量を増やす方法とは?
このQ&Aのポイント
System V系のメッセージキューを使用して、各プロセスへデータを渡す方法について説明します。
メッセージキューに多量のデータを書き込む際に発生するエラーを回避する方法を解説します。
Red Hat Enterpriseを使用している場合でも、他のOSでも応用できるメッセージキューの容量を増やす方法を紹介します。
System V系のメッセージキューを使用して、各プロセスへデータを渡しています。1つのメッセージキューを共用していますが、各プロセス毎に、受信する番号を変えていますので、各プロセスは自分宛のメッセージを問題なく受信できます。
ここからが問題なのですが、各プロセスへ一気にメッセージを配信するために、メッセージに多量にデータを書くと、msgsndでEAGAINとなってしまいます。
これを回避する為には、/proc/sys/kernel内の下記ファイルの内容を更新すればよいということまではわかりました。
msgmax msgmnb msgmni
ところが、これらのファイルを直接更新しようとするとエラーとなってしまいます。
rootユーザーでviでmsgmnbを更新すると、「"msgmnb" E667: fsync に失敗しました」となり、更新できませんでした。
上記ファイルの更新方法についてご存じのかたおりましたら、教えて下さい。また、最終的におこないたいのは、メッセージキューにもっと沢山のメッセージを書き込みたいことですので、その方法についての回答でもかまいません。
最大100プロセスに送信。
1プロセスあたり256バイトのメッセージを5件送信。
したいと考えています。
OSはred hat enterprise(Versionは最新版を使用予定)ですが、他のOSの情報でもかまいません。
お礼
ありがとうございます。ご教示の方法でうまくいきました。