• ベストアンサー

プロセス数を減らしたい

あるプログラムのパッチを当てようとしているのですが、途中で 「プロセス数が多すぎます。」 とエラーになり、失敗します。 不要なプロセスを殺そうと思って、マシンを再起動後ps -feで確認したところ vx_inactive_thread というプロセスが50個も立ちあがっていました。 このプロセスは何なんでしょうか?少なくするにはどうすればいいでしょうか?

  • rally
  • お礼率61% (339/553)

質問者が選んだベストアンサー

  • ベストアンサー
  • Fooky
  • ベストアンサー率71% (59/82)
回答No.3

HP-UXなんですか?HPの問題をこんなところで聞いても 分かる人はあまりいないと思いますよ。 あるいはHPのファイルシステムをサポートするように 構築した他のOSなんでしょうか? 50個も同じシステムプロセスが立つなんて怖い状況を 経験したことがないから興味があってgoogleで調べたら, 大量にヒットしましたよ。 HP-UXの方々はこの問題に苦しんでおられるようですね. 「ほとんど毎週質問が来る」とHPのニュースレターに 出てるようです. If this isn't in the FAQ, someone needs to add it since it gets asked about nearly weekly. google.comで例のプロセス名を調べれば分かると思いますが、 /stand/systemのなかのカーネルパラメータvxbaseを 取り除いてカーネルを再構築せよとありますよ. でもJFSとかいうファイルシステムで,ロギング等の機能を 果たしてるらしいので,このままにしておいて,onosukeさんが 仰るようにプロセスの上限を増やすという手の方が無難かも 知れませんね。

参考URL:
http://www.hpworks.org.uk/newsletter/19/q9.html
rally
質問者

お礼

起動直後に同じプロセスが50個もあるとやっぱり驚きますね。(^^; 「プロセス数が多すぎます」のエラーですが、作成したシェルスクリプトのバグで同プロセスを無限ループで起動しているために出ていました。m(_ _)m カーネルの再構築は未経験ですので今回は止めときます。

その他の回答 (2)

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.2

自分がroot権限をもっているのでしたら,limitやulimitコマンドで上限増やしてみるのはいかがでしょう?

rally
質問者

お礼

limit, ulimitコマンドを調べてみます。 ありがとうございました。

  • nuwaa
  • ベストアンサー率31% (6/19)
回答No.1

Javaのアプリっぽいですね。 無闇にプロセスを殺すことはやめたほうがいいと思います。

rally
質問者

お礼

殺すと言うより、少なくするための設定方法が知りたいのです。 UNIX起動直後に起動しているプロセスなので、無闇に殺せるものではないですよね。

関連するQ&A

  • tomcat psコマンドでスレッドのプロセスが見れません。。

    はじめまして。 JDK1.4.2-13 + tomcat5.0.28 + RHEL3でWEBアプリ環境を 構築しています。 Linux上ではJavaの1スレッドが1プロセスとして 実行されていると思いますが、この1スレッドをpsコマンドが 見た時になぜか表示されません。tomcat本体のjavaプロセスは 確認できるのですがスレッドに当たるプロセスが見えません。 topコマンドでは処理させた時にjavaというプロセスが 処理に応じて上位に表示されるのですが、この時に、 ps -ef | grep java でJavaプロセスを確認しようとしてもどうしても 見ることができません。。 linux上でtopコマンドとpsコマンドでは表示されるプロセス に違いがあるのでしょうか? WEBで調べてみてもみなさんpsコマンドでtomcatのJavaスレッド プロセスが確認できているようなので質問させて頂きました。 宜しくお願いします。

    • ベストアンサー
    • Java
  • プロセスが起動中かどうかを判定するコマンドはありますか?

    あるプログラムを起動したとします。 psコマンドで起動中のプロセス番号を知ることができるのはわかりますが、 プログラム起動中かどうかを判定するコマンドとかあるでしょうか。 たとえば、 >あるコマンド プロセスID のようにプロセスIDを引数として実行すると、プロセス起動中かどうか判定できるような。。。 ご存知な方ご教授おねがいします。

  • プロセスのハンドルを確保

    AプログラムからBプログラムを起動するプログラムを作成しています。 AはループでBプログラムを起動するのですが、Aでプロセスの起動数をチェックし、飽きのプロセスハンドルを確保しBプログラム意を起動する際にAで確保したハンドルを使用して起動するような処理をするにはどうしたらいいでしょうか? 例:プロセス最大起動数:5   Aは10回ループし、Bを起動する。   Aでプロセスハンドルを5個確保する。   Bを起動する際に確保したハンドルを1個使用する。   Bが終了したらハンドルを解放する。   

  • プロセス数とアプリケーションエラー

    質問失礼します。 少し前から頻繁にアプリケーションエラーが出るようになり、シャットダウン時に "0x00401016"の命令が"0x0000000"のメモリを参照しました。メモリが"written"になることはできませんでした。プログラムを終了するには、[OK] をクリックしてください。 等のメッセージが出ます。 とあるPCゲームを入れてから出た不具合なのですが、そのソフトを削除しても時折出てきて、最近はほぼ毎回出るようになりました。 プロセス数を見たところ、立ち上げた時点で46あります。 これを減らしたいのですが、スタートアップのどれを減らせばいいのかがわかりません。 確実に止めていいものはどれなのでしょうか。 ご指導いただければ幸いです。 プロセス数 46 PF 331MB になります。

  • プロセス監視

    VisualBasic6.0でWindows2000上で動くプロセス監視プログラムを開発しています。 監視対象a.exe(仮)を起動させた際に取得したPIDを元に起動状態の監視を行っているのですが、ひとつ気がかりとなっていることがあります。 a.exe(仮)エラー停止直後に、他のプロセスb.exeが起動した際に、a.exe(仮)に割り振られていたPIDがb.exeのプロセスに割り当てられ、プロセス監視プログラムがa.exe(仮)の停止を検知できないという可能性はないでしょうか? WindowsでPID割当ての仕組みにお詳しい方、教えてください。 宜しくお願いします。 尚、a.exe(仮)は起動引数付でマルチ起動させるためプロセス名で起動状態を監視することは出来ません。

  • プロセスを複数起動する方法

    プロセス数の上限監視の検証を行うことになり、上限値以上のプロセス数を 起動させる必要が生じました。 具体的なプロセスは ・httpd (上限:200) ・ntpd (上限:1) ・crond (上限:1) ・HeartBeat (上限:6) の4つです。このうち、httpdについてはhttpd.conf内のStartServers及び MinSpareServersの値を変更することで解決しました。 しかし後3つのプロセスについて、プロセス数を増やす方法がわかりません。 尚、上限監視のロジックはps -ef | grep [プロセス名]で行数をカウントするという ものですので、psコマンドで表示されればゾンビでも何でも構いません・・ 宜しくご教示お願いいたします。

  • プロセスを監視するシェルスクリプトのエラー

    現在作成している定期的にTCPサーバーに対してクライアントが動作しているかどうかを知らせるためパケットを送信するプログラムをpythonで作成し、ラズパイ起動時に自動起動でこのプログラムを起動しているのですが、起動する時としない時があるのでこのプロセスが正常に動作しているかどうかを確認したく、このようなプログラムを作成しました。 (tcp_client1_02_process_check.shの内容) #!/usr/bin/sh while true do #ここではftpdのプロセス監視 isAlive=`ps -ef | grep " sudo python /home/pi/Desktop/tcp_client1_02.py " | \ grep -v grep | wc -l` if [ $isAlive = 1 ]; then echo "プロセスは生きています" else echo "プロセスは死んでいます" sudo /home/pi/python/autorun_script fi sleep 3 done このプログラムはこのサイトを参考にさせて頂きました。 Linux上のプロセスを監視して、プロセスがダウンしたら再起動させるShell http://tech.thekyo.jp/linux%e4%b8%8a%e3%81%ae%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%82%92%e7%9b%a3%e8%a6%96%e3%81%97%e3%81%a6%e3%80%81%e3%83%97%e3%83%ad%e3%82%bb%e3%82%b9%e3%81%8c%e3%83%80%e3%82%a6%e3%83%b3%e3%81%97/91/ このプログラムを sh tcp_client1_02_process_check.sh これで起動すると次のようなエラーが出てきます。 tcp_client1_02_process_check.sh: 14: tcp_client1_02_process_check.sh: Syntax error: "done" unexpected (expecting "then") このエラーどのようなエラー内容なのでしょうか? どうぞ、ご教示いただきますよう宜しくお願い致します。

  • プロセスとスレッドの違いについて(Cプログラミングの観点から)

    プロセスとスレッドの違いがしっくりきません。 <プロセス> (1)プログラムの実行単位。Windows や Linux などの汎用 OS 上のアプリケーションは一般にプロセスとして動作している。プロセスは1つ以上のスレッドと、ファイル、ヒープメモリなどのリソースで構成される (2)起動や切り替えのオーバーヘッドが大きい <スレッド> (1)同一プロセス内の複数スレッドを同一メモリ空間上で実行でき、メモリ消費量などが軽減できる。 (2)マルチスレッド処理のプログラミングにおいては、同じデータを複数のスレッドが同時に書き換えることによる不整合に注意し、排他制御を行う必要がある。 等はwiki等調べて理解しています。 何が疑問なのかと申し上げますと、具体的にプログラミングする際に (1)マルチプロセスとマルチスレッド方式では、ソースにどのような違いが出てくるか (2)マルチプロセスとマルチスレッド方式では実行時間がどれだけ変化するか がわからないのです。お仕事で並列処理等について担当されている方などおられましたら、お手数ですがご教授ください。 なお、わかりやすい書籍、webサイト等ありましたらそれも併せて教えていただけると助かります。よろしくお願いします。ちなみに、環境はWindowsXP,VisualC++ExpressEdition2005を使っていますので、UNIXよりはWindowsかつCで動くプログラム例で教えていただけると大変助かります。しかし、当方Javaも多少であれば組めますのでJavaでも構いません。 何卒、よろしくお願い致します。

  • Windowsでのプロセス監視方法について

    いつもお世話になっています。 現在、Windows2003サーバにて稼働しているバッチプログラムがあります。 冗長化されておらず、サーバがダウンすると他のマシンにてスタンバイされているプログラムを手動で実行しなくてはならず、深夜などは回復まで時間がかかってしまう状況です。 理想としては、現在稼働しているマシンがダウン、もしくはバッチプロセスが何らかの理由で落ちてしまった場合は、 もう片方のマシンでそれを検知し、そのマシンで自動的にバッチが起動する、というような状態にしたいのですが、 何か簡単な方法がありましたら、概要だけで構わないのでご教授いただけませんでしょうか?

  • C言語でプロセスを処理するプログラムを考えています。

    C言語でプロセスを処理するプログラムを考えています。 popenを使ってプロセスを起動しようとしたですが、popenが未定義の関数とエラーが出てコンパイルできません。 ヘッダにstdio.hはおいてあります。 コンパイラはborlandを使用しています。 よろしくお願いします。