トップページ⇒linux
55コメント15KB

Linuxってメモリ効率悪くない?

■ このスレッドは過去ログ倉庫に格納されています
0001login:PenguinNGNG
RedHat使ってるんだけどWebブラウズとかやってると
すぐに使用メモリが200Mとか逝っちゃうんだけど…
Winとかだとかなりアプリを開いても100Mちょっとしか
メモリを食わないんだけど。
ちなみにメモリは256つんでます。
0002login:PenguinNGNG
linux カーネルの問題というよりは、X Window や その上で走っている
アプリケーションのメモリの使いかたが問題なのでは?

apache + postgres だったら、IIS + SQL Server に比べても
マシンパワー、メモリーとも見ても linux 側が友有利と思いますよ。
0003login:PenguinNGNG
アプリケーションの終了時にメモリの解放が行なえない、
Windowsの方が問題かと、、、。
0004login:PenguinNGNG
まさかいつもの、「あるだけキャッシュに使う」のを誤解
してるやつじゃねーだろーな。
00051NGNG
>2
なるほど。

>3
Linuxでもたまにアプリケーションの終了時に
メモリが開放されないときがあるような気がするのですが。

もう一つ質問があるのですがfreeコマンドを実行したときに表示される
+/- Buffersとはどういう意味があるのですが?
00061NGNG
キャッシュって何ですか?
0007login:PenguinNGNG
>>6
現金
0008login:PenguinNGNG
(°д°)マジメにおしえろゴラァ>7
0009login:PenguinNGNG
メモリに余裕があればその部分有効に使うのさ。
終了させたアプリもメモリに一定時間残ってるよね。
0010login:PenguinNGNG
>>5
RTFM
0011login:PenguinNGNG
Linuxじゃなくて、ネスケのメモリ効率が悪いってことでしょ?
0012login:scottNGNG
スワップデバイスのI/O量・ページング効率はチェックしたの?
フリーリストにいくら残ってるかなんていうのは全然重要じゃないよ。
要はV/R比率が重要なんだよ。
0013login:PenguinNGNG
>>1
スレッドのメモリが重複して数えられてんじゃねえのか?
おれにゃあ詳しいことは分からん。
せっかくだからメモリー増設しろ。(w
0014login:PenguinNGNG
winとlinuxではメモリマネージャが違う。
スワップが激しくなるとCPU使用率のうち%wioがだんだん増える。
いっかい見てみれや。
もうちょっと興味があったら ps auxをみてみる。
断っておくが、ps auxの結果を合算しちゃいかんぞ。
0015login:PenguinNGNG
>>14
で、メモリ食うか食わんかはどうなのよ
0016login:PenguinNGNG
>>14
RSSを合算してもその瞬間のメモリ使用量にはならんの?
SIZEを合算してもその瞬間の仮想記憶使用量にはならんの?
何を合算すれば求まるの?
0017login:PenguinNGNG
>>1 の知識のままメモリを 1GB とか積むと、きっと驚くだろうな
0018login:PenguinNGNG
効率が悪いかどうかは知らないけど、確かにMozillaなどは
メモリを食う。
0019login:PenguinNGNG
>>15
食うか食わんかで語れると思っているあたり
アレだな。
問題はなにに使っているかだろうが。
「何にも使っていない」より「キャッシュバッファに使っている」
の方がより良い状態だぞ。
もちろんそのメモリを要求されたときにどれだけ高速に
解放できるかという点が問題になるが。そこをどうするかが
OS設計/実装のミソだろう。
0020login:PenguinNGNG
>>19
だから1に対する回答はどうなのよ。
0021名無しさんNGNG
RedHat5.2を、カーネル2.4に入れ替え、不要なものを削ってるけど、
ルータにしとくくらいならメモリ4Mでももんだいないよ
ふつうに使うには8Mかな
0022login:PenguinNGNG
>>16
SIZE:プロセスの仮想空間上の大きさ
RSS:SIZEのうち、実際にメモリに埋まってる量

RSSを合算しちゃうと、共用ライブラリと共用メモリの分が重複加算されます。
あとカーネルの大きさが足されません。
何を合算しても求まりません。

>>15
おれモジラつかわねーからわかんねい
RSSの変化量でも見れば?
0023login:PenguinNGNG
>>20
もう答えは出てるよ
0024login:PenguinNGNG
>>23
つまりLinu房は説明が下手と
0025login:PenguinNGNG
>>1
要はプログラムとして見たときにメモリを食う食わないという基準がああるが、
OSから見たら、食う食わないという基準で考えているわけじゃあない。

例:
こまめにmalloc()で必要最小限にメモリを使うのと、
はじめから大きな自動変数を用意するのと、2つの方式でプログラムを書いた。
プログラムのサイズ(SIZE)は明確な違いが出た。
が、常駐量(RSS)にはさほど違いが見られなかった。

こんなことが起こったりするので、一概には言えない。

ねすけがメモリーを食うのは、これともう一つ話があって、
インターネット一時ファイルをファイルシステムにポコポコつくるときに、
OSがファイルキャッシュを逐次割り当ててしまう、という動きがはいる。
結果、フリーリストに残るメモリページはほとんどなくなるという現象が生ずる。

で、プログラムとしてのメモリ使用効率を見たいのか、
OSからみたメモリ割当効率を見たいのかどっちだ?
0026login:PenguinNGNG
>>24
じゃあうまく説明してくれ。
スレッドのSMPスケジューリングよりは話するのラクだろ?
0027login:PenguinNGNG
>>26
1のレベルに合わせて回答せよということじゃよ。
知識のひけらかしはヲタ同士でやるこったよ。
0028login:PenguinNGNG
Xはあまりいい出来じゃないっぽい。
ASTEC-XなんかはXFree86よりもかなり高速らしいし。
0029login:PenguinNGNG
>>27
んじゃ「知らないのに効率なんて言葉使うな」が1への手向けの言葉になるな。

この程度の知識を知らずにメモリをうんぬん言うのもオカシイと思うが。
0030login:PenguinNGNG
>29
お前さん無理してオタ以外の人間とコミュニケーションとらなくていいよ
0031login:PenguinNGNG
>>29
同意。ちょっとキツイ言葉のような気もするけど。

とりあえず、自分が理解できないことを、相手の
説明下手のせいにするのはいただけないですな。
0032login:PenguinNGNG
擦れの内容からいって難しいこと言うのはヲタというのは
ヴァカに極みと察する...
003332NGNG
>ヴァカに極みと察する...
ヴァカの極みと察する...

鬱氏...
00341NGNG
ようするにカーネルがファイルキャシュなどに自動的に割り当てるので
見掛上メモリが圧迫されているように見えると言うことですね。
わかりました。
0035login:PenguinNGNG
そういえばWin9xもファイルキャッシュに垂れ流してたような気が。
0036login:PenguinNGNG
Winのばやい、ファイルキャッシュにつかってるんだけど
いざほんとにメモリがほしくなったときスワップファイルの方を
主に使うようになって遅くなる、と聞いたよ。
つまり、使いもしないファイルキャッシュを大事に持っているというのが
不評の原因らしい。

よくわかんねぇけど。
0037login:PenguinNGNG
>>1
256積んでて100しか使ってないほうが問題なんじゃねぇの?
0038login:PenguinNGNG
>>1
おお!正解に近づいたぞ いいぞいいぞ!! 精進してくだされ
0039login:PenguinNGNG
>>35
正解。

>>36
そこまでMSもバカじゃない・・・
けど結果的にそういう動きに近いです。
どうもMS内部の性能目標はデスクトップ操作に重きを置いているので、
とりあえずいーやっていうものはスワップに隠しておいて、
あとでページインさせるつもりって感じなんだろうね。
スワップ領域のいらないもの管理がバグってて、
領域に巣が入りやすいバグがさらに拍車かけてるような気もするけど。
0040login:PenguinNGNG
じゃあlinuxもwin9xと同じくドキュソosってことか!?
0041login:PenguinNGNG
>>40
その結論に至った過程を述べよ。
0042login:PenguinNGNG
いいから free の結果と ps aux の結果をここに貼れ
0043login:PenguinNGNG
>>1
ttp://www2d.biglobe.ne.jp/~oga/pc/linux/ltool.html#linux_xmem
つかってみ。
赤いとこ以外はキャッシュ。

# 256MBだと見た目変になるかも。
0044login:PenguinNGNG
free の見方わからん。
誰か教えて
0045login:PenguinNGNG
Xは失敗作ってことか。納得しました。
0046login:binNGNG
技術系の板らしからぬレス群だな・・

>>1
OSの一部分として既にOS起動時から動作してるIEと、
単なる1アプリケーションとして動作しているMozilla(or Netscape)では
比較対象にならんと思うが。

さらにいうと使っても居ないデーモン群を動かしておきながら
「使用メモリが200Mとか」って言ってるのでは無かろうな?

>>2
別にカーネルの話をしてるわけではないと思うけど。
さらにいうとサーバ利用の話をしてるわけでもない。

>>3
Linuxと比較するんならWindows NT(2000)と比較した方がよい。
あっちならプロセス終了時にたとえメモリが解放されなくても、
Linux同様にOSがきちんと解放してくれる。

ん?95/98/Me?あれはOSじゃないだろ(藁

>>39
ウインドウハンドルを持っていない(=表面に表示されてない)
プロセスほどメモリ管理的に後回しになるみたい。
NT(2000)のカーネルソースが公開されてるわけではないんで
見かけ上の話だけだが、ServerにしてもWorkstation(Professional)
にしても、「細かく大量にメモリを割り当てるのが下手」
「大量のプロセス起動が下手」っていう特性は変わらないようだ。
0047login:PenguinNGNG
>>46
ここって技術系だったの?
知らなかったよ。ププ
0048login:PenguinNGNG
隔離系です。
0049login:PenguinNGNG
技術系じゃない?
0050login:PenguinNGNG
忍術系です。
0051login:PenguinNGNG
原宿系です。
0052login:PenguinNGNG
小此木系だな。
0053login:PenguinNGNG
はみだしLINUXer情熱系
005425NGNG
保険体育会系
0055login:PenguinNGNG
「体育会系」のことを間違えて
「うんどうかいけい」って口にしてしまったことがある。
鬱だ氏のう
■ このスレッドは過去ログ倉庫に格納されています