- 1 名前:login:Penguin [2005/06/06(月) 11:19:09 ID:uXQqRJXF]
- Linux のプログラミングに関する話題です
- 321 名前:login:Penguin mailto:sage [2007/09/24(月) 11:57:56 ID:K+J+mAAI]
- 空気嫁
- 322 名前:login:Penguin mailto:sage [2007/09/24(月) 12:00:15 ID:oWdnqGOu]
- >>320-321
ありがとう。これで空気読めるようになったよ。
- 323 名前:login:Penguin mailto:sage [2007/09/24(月) 14:40:26 ID:d3+l1tl9]
- 読めてません。
- 324 名前:login:Penguin [2007/09/24(月) 16:44:27 ID:/TENigCK]
- ある特定のライブラリ(libXXX.a)の中でメモリリークが発生していることがわかっているので、
そのライブラリだけBoehm GCのmallocに差し替えたいんですが、そういうことってできまし たっけ?
- 325 名前:login:Penguin mailto:sage [2007/09/24(月) 16:49:02 ID:/TENigCK]
- >>296もよろしく。>>294
- 326 名前:login:Penguin mailto:sage [2007/09/25(火) 00:42:58 ID:tOnrroA3]
- >>324
malloc フックでぐぐれ
- 327 名前:login:Penguin mailto:sage [2007/09/25(火) 01:14:39 ID:DweR4QXy]
- >>324
libをデバッグシンボル込で作成して valgrindで調べた方がよくねーか? そうしたら動作シーケンス解かるから あとは単体で実行してデバッグすれば よくね? そうゆう解決方法は根本的な対処にならないから やめれ。リークしてるものは修正しろ
- 328 名前:login:Penguin mailto:sage [2007/09/25(火) 23:16:01 ID:DweR4QXy]
- >>324
同級生に1人はいた、借りたものを返さないやつだな。 借金沢山ありそうw
- 329 名前:login:Penguin mailto:sage [2007/09/26(水) 00:06:34 ID:YpckYtbt]
- >>324
mallocってシステムコールじゃないっしょ。リコンパイルなしでは無理っしょ
- 330 名前:login:Penguin [2007/09/26(水) 01:26:15 ID:yQRyKR94]
- LD_PRLOAD子欄の?
- 331 名前:login:Penguin [2007/09/26(水) 21:16:50 ID:v+gFFOHB]
- >>327
LinuxはWindowsと違って多少リークしてても普通に動くよ。 実際、安定しているといわれてるアプリでもリークしてるものが多い。 例えばFirefoxとかGimpとかね。 コマンドの中には最初から解放しない戦略をとってるものもあるし、 多少のリークは修正する必要がない。 実際、有名なアプリでも修正しない戦略をとってるものがあるしね。 ほら吹きOSじゃないんだから、メモリーなんていちいち気にする必要ないんだよ。
- 332 名前:login:Penguin mailto:sage [2007/09/26(水) 21:30:49 ID:M/+a2TgQ]
- また変な釣りが湧いて出たか
- 333 名前:login:Penguin mailto:sage [2007/09/26(水) 22:28:15 ID:FU3404FR]
- バイオワーム未満のまずい餌を
みてひさびさに閉口したw
- 334 名前:login:Penguin mailto:sage [2007/09/26(水) 22:32:32 ID:P0NX8bPM]
- ,-´ ~¨"''''‐- .,
|` ー- ...,,,___.) |\丶}} !{ |i i| |`ィ,,ヽ {j }、l| ヘミノ /^\ヽ_/^!:|i l_ノ V u _ノ 、リ 人 > ( ●)(●) 何を言っているのか わからねーと思うが /ハノゝ u (__人__) おれも何を言っているのかわからなかった… V" ` ⌒´ノ . | } 常識的に考えて・・・ . ヽ u } ヽ ノ \ / く \ \ | \ \ \ | |ヽ、二⌒)、 \
- 335 名前:login:Penguin [2007/09/26(水) 23:22:54 ID:v+gFFOHB]
- >>333
バイオワームがまずいんじゃなくて お前の料理がまずいんだ 素材のせいにスンナボケ
- 336 名前:login:Penguin mailto:sage [2007/09/27(木) 01:01:03 ID:gsAwBD+f]
- >>330
へー Linux の静的ライブラリは環境変数 LD_PRLOAD で置き換えできるのか〜 教えてくれてありがとう。
- 337 名前:login:Penguin [2007/09/27(木) 02:34:38 ID:VzBoMjAX]
- >>336
L D _ P R L O A D 子 欄 の ? Hint:.a Hint:PRLOAD
- 338 名前:login:Penguin [2007/09/27(木) 08:49:58 ID:hzAH420J]
- >>336
static linkされたものを置換できるとは誰も言ってない。 勝手に拡大解釈するな。Linkder&Loadersとか、適当な本で勉強汁。 あと、LD_PRELOADな。Eが抜けてる。
- 339 名前:login:Penguin mailto:sage [2007/09/27(木) 08:50:59 ID:hzAH420J]
- Linkder&Loaders
じゃなく Linkers&Loaders ごめん。
- 340 名前:login:Penguin [2007/09/27(木) 11:29:56 ID:x6U3NKaN]
- あ る 特 定 の ラ イ ブ ラ リ ( l i b X X X . a ) の 中 で
- 341 名前:login:Penguin [2007/09/27(木) 13:50:54 ID:iv68VIR1]
- 適 当 な 本 で 勉 強 汁 。
- 342 名前:login:Penguin mailto:sage [2007/09/28(金) 00:09:07 ID:MDX80Mu5]
- mallocってシステムコールかいな
- 343 名前:login:Penguin mailto:sage [2007/09/28(金) 02:07:37 ID:wLKx4a83]
- >>324
そのライブラリだけってのが気になるがLD_PRELOADで差し替えできるようだね。 前提や条件を受け入れられるかは知らないが。 ttp://www.hpl.hp.com/personal/Hans_Boehm/gc/leak.html 関係ないけどleak.htmlの最後にさらっと粋なことが書いてあるwww
- 344 名前:login:Penguin mailto:sage [2007/09/29(土) 03:19:25 ID:Ao0+HlwR]
- openipmiの日本語プログラミング
マないかな?
- 345 名前:login:Penguin [2007/09/29(土) 23:45:42 ID:KUrKiugz]
- iptables を使用してトランスペアレントプロキシを作成しようとしています。
ポート10000に届くすべてのあて先IPアドレスを自身宛に書き換えて受け取っています。 その状態で getsockopt()に SO_ORIGINAL_DSTを与えると本来のあて先アドレスがわかるということで試していますが上手くいきません。 ENOPROTOOPT : 指定された層(level)にはこのオプションは存在しない というエラーが返されます。 どのように解決すれば良いかわからず投稿させていただきました。 アドバイスがございましたらよろしくお願いします。 環境 fedoracore6 2.6.18-1.2798.fc6xen gcc 4.1.1 -----------------------------一部抜粋----------------------------------- int sock; socklen_t len; struct sockaddr_in addr0,orig_dst; addr0.sin_family = AF_INET; addr0.sin_port = htons(10000); addr0.sin_addr.s_addr = htonl(INADDR_ANY); sock = socket(AF_INET,SOCK_DGRAM,0); bind(sock,(struct sockaddr *)&addr0,(socklen_t)sizeof(addr0)); len = (socklen_t)sizeof(orig_dst); if(getsockopt(sock,SOL_IP,SO_ORIGINAL_DST,(struct sockaddr *)&orig_dst,(socklen_t *)&len)){ perror("getsockopt"); } -------------------------------------------------------------------------
- 346 名前:login:Penguin mailto:sage [2007/09/30(日) 00:11:06 ID:JTctf1Ko]
- >>345
いくらくれる?
- 347 名前:login:Penguin mailto:sage [2007/09/30(日) 09:27:43 ID:mXOCWJ6v]
- >>346
アホか。
- 348 名前:login:Penguin mailto:sage [2007/09/30(日) 18:32:05 ID:cTP/1hI9]
- つ I ホラ、ダイジニツカウンダゾ
- 349 名前:login:Penguin mailto:sage [2007/10/01(月) 00:56:00 ID:kZSHZlgP]
- (´,∀`)ゴチソウサマ
>>345 SOCK_DGRAMじゃなくてSOCK_STREAMだとどうなんだろう?
- 350 名前:login:Penguin [2007/10/01(月) 14:29:09 ID:WPD1ZzVS]
- >>349
それかもしれませんね。 試す環境が無くなってしまったので出来ませんが・・・ connectされたソケットじゃないと取れないとか? どうやって取ってるかわからないから何ともいえないけど・・・。 ありがごうございました。 良回答 10pt
- 351 名前:login:Penguin mailto:sage [2007/10/02(火) 17:43:12 ID:pFIeRD5Z]
- >>345
この質問はnetfilter-develにたまーに来る(1年に1回位)。 で、回答は SO_ORIGINAL_DST がサポートされているのはIPv4のTCPのみ。 どーしてもっていうことなら、もはやcacheにしか残ってないこのパッチを参考にするこった。 web.archive.org/web/20040816092143/http://lists.netfilter.org/pipermail/netfilter-devel/2001-May/001195.html このパッチ相当の機能は、2007年現在まだマージされてないはず。
- 352 名前:login:Penguin mailto:sage [2007/10/02(火) 23:15:16 ID:TateldD6]
- あのーオドオドオド
あのーー2socket QuadCore Xeon SNMPカーネル環境下でgettimeofday()すると 時間がびみょうにずれて困るのですが どうすればいいのですか?
- 353 名前:login:Penguin mailto:sage [2007/10/02(火) 23:17:15 ID:OCvX4Zeq]
- >>352
kernelのバージョンとarchは?
- 354 名前:login:Penguin mailto:sage [2007/10/02(火) 23:37:43 ID:TateldD6]
- kernlは2.4.24と2.6.20です
debianで動けばOKです
- 355 名前:login:Penguin mailto:sage [2007/10/02(火) 23:40:33 ID:OCvX4Zeq]
- >>354
ずれるというのは時間が戻るということ? 最新のカーネルを使ってみれば? 古いので動かしたかったら、debianのBTSに突っ込んでみたら?
- 356 名前:login:Penguin mailto:sage [2007/10/02(火) 23:46:34 ID:TateldD6]
- >>355
そうですねー。 こうゆうのって自分で実装するのは難しいのでしょうかね?
- 357 名前:login:Penguin mailto:sage [2007/10/02(火) 23:57:38 ID:OCvX4Zeq]
- >>356
CPU1個にすればいいじゃね?
- 358 名前:login:Penguin mailto:sage [2007/10/03(水) 08:55:17 ID:mGA09CPb]
- >>352
そういう現象は聞いたことがない。貴方のコードに問題があるかもしれない。 どういうプログラムなのか、コードと実行結果を貼るなりしないと何とも言えないな。
- 359 名前:login:Penguin mailto:sage [2007/10/04(木) 00:38:47 ID:BHffRC4x]
- 同一の名前で、ちょっとバージョンの違う
/usr/lib/xxx.soと/opt/dev/xxx.so があるとして、絶対/usr/lib/xxx.soを使わずに /opt/dev/xxx.soを使うようにコンパイルすること ってできるでしょうか。 libcとか今組込み用に作ってるのですがどうにも /usr/libのほうよみにいっているようで....
- 360 名前:login:Penguin mailto:sage [2007/10/04(木) 00:40:34 ID:0WRnyS6M]
- >>359
LD_LIBRARTY_PATHだっけか。
- 361 名前:login:Penguin mailto:sage [2007/10/04(木) 00:45:16 ID:BHffRC4x]
- >>360
それでいけますよね? 前任者がDQNみたいで #define printf xxx_printf とかずらーっと定義して /dev/xxx..soを必ず使うように #defineするとか意味不明な ことしてて困惑しています。 ビルドも独自の.sファイル用意して アドレスに直にバインドするとか 意味不明なことをしています
- 362 名前:login:Penguin mailto:sage [2007/10/04(木) 00:57:37 ID:hH9ei5GL]
- >>359
リンク時にバイナリにライブラリ検索パスを埋め込むために、 ld 実行時にLD_RUN_PATH を設定するか、-rpath オプションを 付けてリンクする。 LD_LIBRARY_PATHは、バイナリビルド環境と実行環境の差を 埋める時のみに使うべきかと思う。
- 363 名前:login:Penguin mailto:sage [2007/10/04(木) 01:15:11 ID:BHffRC4x]
- >>362
わたしもそう思うのですが でもなんで #define printf xxx_printf なんてしたんだろう。 コード汚くなって意味ないと思うんだけどな... こんなことする馬鹿他に見たことあるって 人いますか?明日そいつを血祭りにあげようと 思ってます。
- 364 名前:login:Penguin mailto:sage [2007/10/04(木) 02:03:36 ID:PKHRa3Ub]
- おまえさんよりは前任者の方が詳しい鴨よ。
もちっとkwsk書いてみたら?
- 365 名前:login:Penguin [2007/10/04(木) 03:55:40 ID:Lja62WFk]
- >>351
おそくなりましたがありがとうorz
- 366 名前:login:Penguin mailto:sage [2007/10/04(木) 03:57:32 ID:2YWUx8wh]
- まず理由を聞くべきだろ?
- 367 名前:login:Penguin mailto:sage [2007/10/04(木) 10:22:53 ID:SX6Gg+w/]
- 組み込み用ならそれなりの理由があるのかもしれないような。
- 368 名前:login:Penguin mailto:sage [2007/10/04(木) 21:48:51 ID:BHffRC4x]
- 理由を聞いたが-rpathを知らないから
そうやったって自供しました。 もう直後にイラっときたので 廃材詰めるダンボールにブン殴って のしてつめてやりました。 半日ぐらいノビてたなw
- 369 名前:login:Penguin mailto:sage [2007/10/04(木) 22:21:52 ID:NmqYv4MX]
- 暴力はいけません
- 370 名前:login:Penguin mailto:sage [2007/10/04(木) 23:57:03 ID:kujiByn/]
- 組み込みでLinuxなのにlibc自作って何か新鮮
- 371 名前:login:Penguin mailto:sage [2007/10/05(金) 00:54:03 ID:RuBV1DrC]
- Upstreamに流すつもりのFIXコードを書いてテストしておkぽかったんだが、
なんかしらないがそのままゲームにはまってしまって疲れて寝た。 次の日、他の人がパッチをコミットしていた時の悔しさ。
- 372 名前:login:Penguin mailto:sage [2007/10/06(土) 02:25:21 ID:jz11x7Hd]
- 汎用DMAドライバってどっかに
ないかなぁ CPU使わないでデータコピーしたい
- 373 名前:login:Penguin mailto:sage [2007/10/09(火) 23:39:51 ID:D7LghPSZ]
- カーネル2.4にvsyscallのgettimeofdayを
移植したいんだけど いい情報ないかな?最悪ドライバモジュールで 実装でもいい
- 374 名前:login:Penguin [2007/10/10(水) 23:40:45 ID:MaiKO5Xh]
- Linuxで作成したファイルをWindowsに移すにはどうしたらいいんですか?
- 375 名前:login:Penguin mailto:sage [2007/10/10(水) 23:58:52 ID:wcdf1KNh]
- ftp
- 376 名前:login:Penguin mailto:sage [2007/10/11(木) 00:10:18 ID:IhTCaNfQ]
- od -x filename | lessしたあと
windows側で1バイトずつ 手打ちすればいいよ
- 377 名前:login:Penguin mailto:sage [2007/10/11(木) 00:14:30 ID:0rD2It5e]
- >>376
メモ帳でやってみました。 なんかファイルサイズが16倍になったんですが、ホントにこれ使えるんでしょうか・・・。
- 378 名前:login:Penguin mailto:sage [2007/10/11(木) 01:03:35 ID:XbMVm2Iq]
- >>376
おにー
- 379 名前:login:Penguin mailto:sage [2007/10/11(木) 01:29:29 ID:nRNlKb1D]
- >>377
なんで16倍?
- 380 名前:login:Penguin mailto:age [2007/10/11(木) 03:52:22 ID:yX6O/zNE]
- tcpdumpみたいなものをカーネルモジュールで書いているんですが、
tcpやudpのデータ部分を取得するにはどうやったらいいのでしょうか。 sk_buff->nh.iph->protocol でプロトコルの種類はわかるのですが、実際のデータ部の取得方法が いまいちわからなくて・・・。 どなたかわかる方よろしくお願いいたします。
- 381 名前:login:Penguin mailto:sage [2007/10/11(木) 16:06:54 ID:q6R8bHpk]
- >>377 Bz使えよ
- 382 名前:login:Penguin mailto:sage [2007/10/13(土) 21:50:16 ID:Zr5sYmS5]
- ttp://kernelbook.sourceforge.net/kernel-api.pdf
- 383 名前:login:Penguin [2007/10/15(月) 21:09:43 ID:LCPtRnTv]
- カーネルソースはあるのにヘッダーsがないばやいで
ソースからヘッダーってできないですか っていうかソースがあればヘッダーはいらないと思ってた! なんでなん?
- 384 名前:login:Penguin mailto:sage [2007/10/15(月) 23:41:51 ID:XG6Zr9VJ]
- >>383
インクルードするところを /usr/includeとかになってるところを /usr/src/linux/includeとかにするところでいいんじゃね? -Iとかで指定するところだと思うよ
- 385 名前:login:Penguin mailto:sage [2007/11/01(木) 21:34:43 ID:OFz7RgOT]
- ipmiのライブラリってどれもつかえねーな
全然関係ないけど、montavistaの連中のコードってきもくね? CもC++もどれもまともにかけない糞が多すぎる。 それについてこっちは金払ってるのに問い合わせすると 仕様ですwだってさ あそこのエンジニアはSCOよりひどい
- 386 名前:句読点打てないバカをサマージャンボする俺 ◆1xdL.Dyf.I mailto:sage [2007/11/03(土) 11:25:48 ID:4iXGn396]
- >>385
- 387 名前:login:Penguin mailto:age [2007/11/09(金) 14:05:06 ID:Aq/ZR00i]
- メモリの使い方について質問。
システムメモリ領域は負のアドレスというのを読んだのですが、 連続した次の領域を読む場合、正負どちらの方向に進めばいいのでしょうか? 例えば-521568100の次の領域は、-521568099?それとも-521568101?
- 388 名前:login:Penguin mailto:sage [2007/11/09(金) 14:45:29 ID:muGJS6N4]
-
-3 -2 -1 0 1 2 3 - +
- 389 名前:387 mailto:sage [2007/11/09(金) 15:12:03 ID:Aq/ZR00i]
- >>388
なるほど〜。 ありがとうございました。
- 390 名前:login:Penguin mailto:sage [2007/11/10(土) 01:16:39 ID:tSMAg/81]
- LD_PRELOADで関数フックしたあと、もとの関数呼ぶ方法ってありますか?
void hoge() { hoge(); // <- もとのhoge関数を呼び出したい }
- 391 名前:login:Penguin mailto:sage [2007/11/10(土) 02:58:50 ID:RN+zA3HO]
- >>390
dlopen, dlsym
- 392 名前:login:Penguin [2007/11/11(日) 12:34:41 ID:jhqVcqNv]
- mono develop使ってるヤシいる?
- 393 名前:login:Penguin mailto:sage [2007/11/11(日) 19:49:41 ID:n7+Lb81h]
- >>390
dlsymとRTLD_NEXTでググればわかるとおもうよ。 >>391 dlopenは不要
- 394 名前:login:Penguin [2007/11/12(月) 03:27:53 ID:V6ygCzcx]
- 今linux security module(lsm)の勉強のために、
root_plug.cを改造して試行錯誤してるんですけど、 これって改造する度に、 毎回全てのソースをコンパイルをしなければいけないんでしょうか?
- 395 名前:login:Penguin mailto:sage [2007/11/12(月) 03:29:28 ID:5hFKzEaG]
- makeでやれば関係ないソースは以前作ったオブジェクトそのまま使ってくれるだろ
- 396 名前:login:Penguin [2007/11/12(月) 03:34:17 ID:V6ygCzcx]
- >>395
確かにそうなんですけど、 なんとなく気持ち悪くて、 毎回新しくオブジェクトを作りなおしてました。 でもそうしなくても問題ないということですね。 ありがとうございました。
- 397 名前:login:Penguin [2007/11/12(月) 04:11:37 ID:CZeG29nh]
- ,`,(+Φy〆),`,
‘オソロシキ ゲンゴダナ…
- 398 名前:login:Penguin mailto:sage [2007/11/12(月) 05:40:50 ID:PgGOtZpU]
- >>391
>>393 dlsym( RTLD_NEXT , "function" ) でできました。 ありがとうございます
- 399 名前:login:Penguin mailto:sage [2007/11/14(水) 03:20:29 ID:LtZiY/oO]
- Linux上でWindowsのネイティブバイナリは吐けますか?
- 400 名前:login:Penguin mailto:sage [2007/11/14(水) 03:26:37 ID:d8LODZS2]
- >>399
cat explorer.exe > new_explorer.exe
- 401 名前:login:Penguin mailto:sage [2007/11/14(水) 08:14:07 ID:1nX1kzlD]
- mingwのクロスコンパイラが使えるよ。Debianならapt-get install mingw32で。
- 402 名前:login:Penguin mailto:sage [2007/11/19(月) 09:16:47 ID:y8uScUHY]
- ありがとうございます
- 403 名前:login:Penguin mailto:sage [2007/11/27(火) 09:45:49 ID:A2SYKSWK]
- xxgdbでpopen()をトレースすると
[New Cannot find thread 2049: invalid thread handle と表示されて止まってしまうのだがこれって仕様?
- 404 名前:login:Penguin mailto:sage [2007/11/28(水) 00:05:12 ID:7Ks9DXGS]
- >>403
仕様
- 405 名前:403 mailto:sage [2007/11/29(木) 00:55:49 ID:jIID4fY+]
- >>404
レスありがとう。 system()かexecl()系使うしかないのかしら・・・
- 406 名前:login:Penguin mailto:age [2007/12/03(月) 03:31:14 ID:ACH4D/bz]
- opendir(3)の実装はどこにあるんでしょうか?
glibcのdirent/opendir.cを見ると DIR* __opendir (const char *name) { __set_errno (ENOSYS); return NULL; } などと書いてあって行き詰ってしまいました。
- 407 名前:login:Penguin mailto:sage [2007/12/03(月) 04:25:46 ID:hZn7k5Pb]
- >>406
OSはLinuxだよね?
- 408 名前:login:Penguin mailto:sage [2007/12/03(月) 04:29:01 ID:hZn7k5Pb]
- glibc-2.x.x/sysdeps/unix/opendir.c だと思われる。
- 409 名前:406 mailto:sage [2007/12/03(月) 12:14:14 ID:tGDLCTrZ]
- >>408 ありがとうございます。
- 410 名前:login:Penguin mailto:sage [2007/12/08(土) 00:56:20 ID:Ypv55KO5]
- syslogのバッファの中身を設定ファイルでは
なく、作成したプログラムで行いたいのですが どうすればよいの?
- 411 名前:login:Penguin [2007/12/08(土) 01:09:58 ID:3wxXE3Np]
- emacs code browserをつかいこなしてる人いませんか?
python2.4とpython2.5が両方はいってる環境で boost.pythonでc++と連携させると実行時に 「なにかがない」 というエラーが頻発しないですか?
- 412 名前:login:Penguin mailto:sage [2007/12/08(土) 02:36:59 ID:AOgHL0gM]
- >>410
syslog(2)かsyslog(3)のどっちだよ。 それより何がしたいの?
- 413 名前:login:Penguin mailto:sage [2007/12/08(土) 08:36:18 ID:Ypv55KO5]
- >>412
syslogを監視したいと考えています。 swatchみたいな仕組みを作りたいなぁと
- 414 名前:login:Penguin [2007/12/09(日) 19:30:32 ID:kFipn9r2]
- Linuxで組込み機器の開発をしています。CPUはMIPS及びx86で、カーネルは2.6、swap領域は用意していません。
RAMは128MBです。下記状況で悩んでいます。 あるプロセスが大きめ(数十MB)のファイルを、読み込み専用(PROT_READのみ)でmmapし、その後そのファイル を一通り読み込み、理由は不明なのですが、その後munmapせずに長期間mmapしたままにしています。 この状態でもし物理メモリ(free page)が足りなくなってきたら、ファイルのreadonly mmapに使用されていた 物理メモリは他の用途に使うために回収されるでしょうか? カーネルの当該処理を行なう関数名だけでもかまいませんので、おしえてください。
- 415 名前:login:Penguin mailto:sage [2007/12/09(日) 20:31:30 ID:7Og5UxvH]
- >>414
Linuxの仕組みにこだわらず常識の範囲で答えるなら swapがもし設定されておらず、メモリの確保を行ったプロセスが生きており、かつ新しいプログラムがメモリを要求し メモリが足りないばあいは、そのようなエラーが出て後のプログラムが終了する。 確保エラーてきなそれで。
- 416 名前:414 [2007/12/09(日) 20:49:28 ID:kFipn9r2]
- >>415 申し訳ありませんがLinuxの事情が知りたいです。
tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree13?action=AttachFile&do=get&target=virtual_memory_20070222.ppt こちらの資料のp.22「ページアウト」によると、 >(2)で物理メモリの空きがなかった場合、使用頻度の低いと思われるページを解放する。そのページの内容が変更されていなければそのまま破棄。 >変更されていればスワップデバイスに掃きだす。 とのことでした。 今回の場合、swapは存在しませんがページの内容もまた変更されていないので、 >この状態でもし物理メモリ(free page)が足りなくなってきたら、ファイルのreadonly mmapに使用されていた >物理メモリは他の用途に使うために回収されるでしょうか? この答えはyesになるかと思うのですがどうでしょうか。 ページアウトを行なっている関数を特定して調べてみますが、識者の方がいらっしゃいましたら教えてください。
- 417 名前:login:Penguin mailto:sage [2007/12/09(日) 20:51:41 ID:vfNigUJQ]
- DirtyにならなきゃSWAPは関係ないんじゃないか?
PRIVATEマップだったら予約はされるのかねえ? 試せ。
- 418 名前:417 mailto:sage [2007/12/09(日) 20:53:20 ID:vfNigUJQ]
- >>416
読む前に書きました。Linuxの識者ではありません。
- 419 名前:login:Penguin mailto:sage [2007/12/09(日) 21:56:02 ID:7Og5UxvH]
- こ、これが本当なら、使用頻度の低いプロセスの確保しているページが勝手に破棄されるってこと?
なにやら「書き換えられているなら」の和訳に難ありと見た。
- 420 名前:login:Penguin [2007/12/09(日) 21:59:02 ID:kFipn9r2]
- >419
破棄されても、必要になり次第またディスクから読めばいいから、問題なくね? ディスク上のファイルが書き換えられていたらちょっと困るかも試練が。。。
- 421 名前:login:Penguin mailto:sage [2007/12/09(日) 22:13:07 ID:7Og5UxvH]
- >>420
ディスク上にあるデータばかりとは限らなくね? そのへんをどうしているのか...
|

|