• ベストアンサー
  • 困ってます

Linuxでのメモリ使用量制限

大学生です。研究室内のコンピューターを管理してます。 環境は、Vine Linux2.0です。 最近、やたらとフリーズするので、調べてみたら プログラミングを間違って、メモリを食いつぶしてしまのが原因。 プログラムの開発は、日常茶飯事なので、 どうにか、ユーザーが起動するプロセスが使うメモリの 上限値を設定したいのですが、可能でしょうか? quotaは、ディスクの容量制限だけですよね? niceも、プロセスの優先度変えるだけですし。 どなたか、よろしくご教授、お願いします。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数3237
  • ありがとう数4

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

  • ベストアンサー
  • 回答No.4

確認します。 問題のプログラムはulimitコマンドを実行したシェルの子プロセスとして実行していますか。 そうでない場合、ulimitの制限を受けません。 それから、データセグメントサイズの上限設定は-dだったような気がします(すみません、未確認です)。 あと、bashの特定バージョンは特定のコンピュータでulimit(の一部)が変更できません。 確認できているのは「bash1.1.4.xでHPのマシンにおいてcoreサイズの変更ができない」などです。 bashのソースを変更すれば大丈夫らしいのですが、詳細は失念しました。 ただ、2.0以上ではこの話は聞きませんのでvine2.0という新しいディストリビューション上のbashなら大丈夫だとは思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

できました!! ありがとうございました。 無限にmallocするプログラムをかいて トップで眺めていたら、確かに 100M付近で mallocできなくなっています。 ありがとうございました。

関連するQ&A

  • メモリの使用量がおかしい

    長らくxpを使っていたのですが、この度7(64bitSP1DSP版)に移行しました。 デュアルブートを考え、7を試験的に余ったHDDにインストールしました。 とりあえず行った操作としてはページファイル・ハイバネーション・自動デフラグ・インデックス無効くらいです。 仮想メモリを切ったとはいえ、この使用量はおかしいと思い質問させて頂きました。 空きメモリは潤沢にあるのですが、消費しているプロセスもないようですし、この後RAM化を考えているので、ちょっと困った状況です。 添付ファイルはクリーンインストール後のものです。 せいぜい600MB程度だと思っていたのですが・・・。 補足が必要でしたら、随時追記します。宜しく御願いします。

  • メモリ使用量が低すぎる

    今まで使っていたPCのスペックに不安がでてきたので、先月PCを買い換えました。 スペックは以下の通りです。 CPU i7-920 メモリ DDR3 SDRAM 1GB*3 計3GB OS Windows XP SP3 それなりに高いスペックと思っているのですが、いまいち動作が遅く、 調べてみたところどんなにソフトを動かしてもメモリの使用率が起動時から大きく変動していないことが判明しました。 (FierFox,PhotoShop,その他の同時起動でも30%未満の使用率) 認識自体はきちんと約3G分、CPU使用率もまだまだ余裕があり、 利用可能な物理メモリが2G以上ある状態で、頻繁に動作が重くなってしまうのです。 動作の重さはメモリがうまく使用されていないことが原因なのでしょうか? またそうだとすれば、どうすればメモリの使用率を上げることができるでしょうか?

  • メモリ使用量

    アクセスの動きが遅いのでタスクマネージャーで確認したところ 「プロセス」のタブのイメージ名「MSACCESS.EXE」のメモリ使用量が80,000KB以上あり メモリ順で並べると一番使っているのですがこれは多い方ですか? スペックは visutaの2Gです。オフィスは2003です。 MSBファイルの重さは20,000KBです。

その他の回答 (3)

  • 回答No.3

linuxでプロセスメモリの上限値を決めるのはlimit系のシェルコマンドです。 bashならulimit、tcshならlimitです。 .loginに組みこめば値を再設定するまで有効です。 ただ、「メモリの食いつぶし」でlinuxがフリーズするという状況が飲みこめません。仮想空間を使いすぎてスワップ領域が無くなっているのですか? その場合、スワップパーテーションを増やす方が賢明です。 理由はKanataさんがおっしゃる通りです。 通常、linuxではスワップ領域を越えるようなプロセスの起動はできません。 malloc(3)系の動的確保はスワップ領域を使用する前にアロケーションエラーが発生します。 Unix System V R2.xの時代には「小さなプロセスが大きなプロセスにexec(2)したときにメモリ不足でシステムがハングすることがある」というバグがありましたがlinuxでその系統のバグは聞いたことがありません。

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます。確かに、そういうコマンドが ありました! けど、ulimit -m 1000 とやっても 1Mbyte以上の プロセスが起動できて、しまいます。 ulimit -a とやれば、確かに設定はできてるみたいですが それだけでは、だめなのでしょうか? スワップは、300Mくらいとっていて、多分 フリーズというより、スワップが頻繁に起こっている 状態かもしれません。

  • 回答No.2
noname#9414
noname#9414

プログラム作成側からいうと・・・ 結局メモリの食いつぶしって、バグですよね。 だとしたら、それをなくさなければ、大事な プログラムは使い物にならないので、再起動を してでもバグつぶしは大切だと思いますよ。 少なくともメモリ制限なんてのができてしまったら バグ取りがわからなくなった上に、他の人にも 迷惑がかかりますから、私はしょっちゅう 再起動しています。 #Windowsマシンので・・・ ではでは☆

共感・感謝の気持ちを伝えよう!

質問者からのお礼

そうなんです。バグなんです。 本来は、1しかメモリを食わないのに、 100も1000も使おうとするのです。 そうすると、そのプログラムの起動の度に、 そのマシンが落ちてしまうので、 (そうなると、他のユーザーが困るので) それを防ぐ為に、制限をかけたいのです。

  • 回答No.1
noname#271
noname#271

下記の検索システムを使って検索できなければ http://his.luky.org/ML/ 素直に、VineUsersMLに参加して質問してみてください

共感・感謝の気持ちを伝えよう!

質問者からのお礼

便利なURLを教えて頂きありがとうごさいました。 いままで、サーチエンジンでしか調べてなかったの ですが、今後からこういうとこも 利用していきます。 ありがとうございました。

関連するQ&A

  • メモリの使用量

    メモリの容量のうち、 現在使用中の量を見るにはどうすればいいですか?

  • メモリ使用量

    再起動し、タスクマネージャで、メモリ使用量が裏で動いている常駐ソフトで194MBぐらい食っています。ネットをやれば300前後。時間がたってくれば、それなりに500前後ぐらいまで使用率が上がってきます。 OSはXPで一応2GB積んでおります。 裏で動いている常駐ソフトだけでこのぐらい食うのは普通ですか? 。別に重いとかそうゆうワケでもないのですが、何もしないでこんなメモリ食ってるのか。ってワケです。みなさんは、再起動した状態で、使用率はどのようになっていますか?

  • メモリの使用量が8ギガ?

    ノートパソコンのCドライブのメモリ使用量が8.51GBも使っています。 一体なんでこんなに使っているのかわかりません。 ゲームもインストールしていません。 ウイルスソフトはavastの無料版を使っています。 そのほかにこれといってたくさんメモリを使うソフトを入れていないと思うのですがなぜこんなにあるのか不思議です。 削除してメモリの空き容量を増やしたいのですが、どれを削除したらいいのかもわかりません。アドバイスお願いします。

  • メモリ使用量

    タスクマネージャーのプロセスのメモリ使用量の合計とPF使用量が一致しません。 これはどうしてなんでしょうか? 2週間くらいスタンバイ、復帰を繰り返して使っているのですが、最初は800MBくらいのメモリ使用量だったのが、今では1.2GBになっています。 スタンバイによりメモリ使用量が増えるってこと ないですよね? メモリは1GB(VRAM 16MB含む)、仮想メモリ512MBにしています。 1.5GBを超えないか心配です。 仮想メモリを増やした方がいいでしょうか?

  • メモリーの使用量について

    メモリー512Mなんですが、PC立ち上げただけの状態でも 400以上使用してるみたいです。ウィルスソフトや スパウェアソフト、その他ランチャーなど常駐させて ますがこんなに使用しちゃうもんなんでしょうか? メモリーをどのソフトにどんだけ使ってるか分かる ソフトとかはないでしょうか?お願いします<(_ _)>

  • メモリ使用量

    ブラウザと、メールソフトを立ち上げただけで、 メモリを350つかってます。 以前は200くらいだったような気もするんですけど。 なぜ使用量が増えたのでしょうか。 最近、アンチウイルスソフトがメモリを食ってるな という感じはしますが、それにしても多いです。 みなさんは普段のメモリ使用量はどれくらいでしょうか?

  • メモリー使用量

    インターネットのメモリ使用量が200前後は普通なのでしょうかこのような質問の仕方でいいのかわかりませんがyahooBBでインターネットをするとどのくらいメモリを消費するものなのでしょうか 時々メモリーが圧迫されて不具合が生じるものですからこの様な質問をさせていただきました

  • メモリー使用量がどんどん増えていく

    少々困っているので質問させていただきます。 以前使用していたパソコンがかなり古かったので、昨年末に買い替えました。 買った当初は何も問題なかったのですが、今日突然メモリダンプでFirefoxが自動的に落ちていました。 普段からFirefoxのタブを10個程度は開けて放置しておりますが、タスクマネージャーで確認しているとメモリー使用量は1050MB程度を行ったり来たり程度です。 が、今日メモリーダンプした後タスクマネージャーを確認したところ、『AnalyticsSDK』なるタスクが存在しており、凄い勢いでメモリーが増えていきます。 これを書いている間にも、3000MB位だったのが10分程度で6800MBまで増えています。 どうやら、ウイルスチェックソフトのマカフィーの物みたいなのですが、今までそんな事になった事もなく一体何なのか理解しかねています。 自分でも色々調べてみたのですが、英語のサイトばかりでわかりません。 プログラムの場所は、 Program Files→Common Files→McAfee→ClientAnalytics→McClientAnalytics.exe というところからの物は分かったのですが、一体何をするものなのか全くわかりません。 皆さんの知恵をお貸しください。 OSはWIN10 HOME 64bit CPUはCORE i7 6700 3.4GHz メモリーはDDR3の16GBです。

  • メモリ使用量がやたら多いんですが。

    最近新しいノートPCを購入しましたが、 PF使用量が何もしてない状態で400Mを超えてます。 はじめからインストールされてる不必要なソフト類は極力アンインストールしましたし、常駐ソフトもほとんど切ってますが、それでも400Mを下回ることがありません。 (ちなみにPC自体のスペックはメモリ1.5G、CPUコア2デュオT5500です) 以前のPCはスペックでは新しいものに劣るものの通常メモリ使用量が190M程度でしたのでその差にクエスチョンマークです。 タスクマネージャのプロセスタブで作業中のプログラムは見えますが、イメージ名ではそれが何に当たるのかよくわかりませんし、第一それを終了させていいものかもわかりません。 正常な範囲でしょうか??

  • メモリの使用量が下がらない

    まず、自分のパソコンについて記入します。 マウスコンピューターの「LUV MACHINES Lm-A511X」です。 詳細は、以下のページです。 >http://www.sd-dream.com/pasocompass/PC/Mouse/Lm- … Windows 7 Professional 64bit CPU=AMD Phenom II X6 Cドライブ=Intel SSD 240GB メモリ=DDR3で16G搭載 パーテーションは、Cドライブのみです。 また、ラトックシステム株式会社の、「HDD2台用のRAIDケース(RS-EC32-U3R)」を2台、 それぞれ、2TBのハードディスクを入れて、(それぞれ)RAID1にて、使用しております。 >>http://www.sd-dream.com/pasocompass/PC/Mouse/Lm-A511X.html そして、片方をメインに使い、もう1台をサブとして、「Acronis・True Image 2013 Plus」を使い、 バックアップを取って使っています。 IOデータ社の「RamPhantomEX」で、Cドライブに仮想ディスクドライブ(RAMディスク)を、 1Gの量で、作成して使っていました。 通信環境は、WiMAXで、「NECモバイルルータ・AtermWM3600R」を、クレードルに挿して、 そこから、パソコンへLANケーブルでつないで使っています。 それで、以下のような状況になってしまいました。 「Google Chrome」で、ニコニコ動画(プレミアム)を、 3つ程再生しながら(正確には2つは動画を読み込ませながら)、 PDFファイルを、Acrobat X(体験版)で開きながら編集していたら、 どうにも、動きが鈍くなってきたので、タスクマネージャーを開いたら、 13G~14.5G程を、実際に使用している状態でしたので、 なんとか、使用しているメモリの値を下げようとして・・・ 1 「msconfig」で、「スタートアップの項目」を全て外して、再起動しました。 2 「めもりーくりーなー」でメモリの掃除をしました 3 「Wise Registry Cleaner」でレジストリの掃除をしました。 それでも、何もアプリケーションを使わない状態でも、 メモリが13G~14.5G程、使用している状態で、使用量が下がりません。 お手上げです。どうしたらよいのでしょうか?

専門家に質問してみよう