アフィリエイト広告を利用しています

広告

posted by fanblog

2017年02月11日

gnupackのcygwinでヒープメモリのサイズを変更する【Win32 error 487】

この記事ではgnupackのcygwinでヒープメモリのサイズを変更する方法を紹介します。

gnupack_error.png



ヒープサイズを変更する理由


そもそもなぜ変更するのかということですがcygwinをしばらく使っているとトップ画像のようなエラーが発生するからです。

cygwinターミナルを起動してから作業してると突然なります。エラー内容はこんな感じ。
382505160 [main] bash 9372 fhandler_disk_file::fixup_mmap_after_fork: requested x0 mem alloc base 0x0, state 0x10000, size 131072, Win32 error 487
382505405 [main] bash 9372 C:\gnupack\app\cygwin\cygwin\bin\bash.exe: *** fatal process - recreate_mmaps_after_fork_failed
382506549 [main] bash 9372 cygwin_exception::open_stackdumpfile: Dumping stack te.stackdump
382612153 [main] C:\gnupack\app\cygwin\cygwin\bin\bash 9516 fork: child -1 - for2 died unexpectedly, retry 0, exit code 0x100, errno 11
C:\gnupack\app\cygwin\cygwin\bin\bash: fork: retry: No child processes
383634678 [main] bash 5136 fhandler_disk_file::fixup_mmap_after_fork: requested x0 mem alloc base 0x0, state 0x10000, size 131072, Win32 error 487
383634902 [main] bash 5136 C:\gnupack\app\cygwin\cygwin\bin\bash.exe: *** fatal process - recreate_mmaps_after_fork_failed
383636036 [main] bash 5136 cygwin_exception::open_stackdumpfile: Dumping stack te.stackdump
383742073 [main] C:\gnupack\app\cygwin\cygwin\bin\bash 9516 fork: child -1 - for6 died unexpectedly, retry 0, exit code 0x100, errno 11
C:\gnupack\app\cygwin\cygwin\bin\bash: fork: retry: No child processes
385761321 [main] bash 7180 fhandler_disk_file::fixup_mmap_after_fork: requested x0 mem alloc base 0x0, state 0x10000, size 131072, Win32 error 487
385761617 [main] bash 7180 C:\gnupack\app\cygwin\cygwin\bin\bash.exe: *** fatal process - recreate_mmaps_after_fork_failed
385762703 [main] bash 7180 cygwin_exception::open_stackdumpfile: Dumping stack te.stackdump
385861264 [main] C:\gnupack\app\cygwin\cygwin\bin\bash 9516 fork: child -1 - for0 died unexpectedly, retry 0, exit code 0x100, errno 11
C:\gnupack\app\cygwin\cygwin\bin\bash: fork: retry: No child processes
C:\gnupack\app\cygwin\cygwin\bin\bash: fork: No child processes


lsとかcdとか頻繁に使用するコマンドで毎回こんな表示がでます。動作自体は問題なさそうなのですが鬱陶しい。

正直なんのことかよくわからなかったのですが検索してみるとヒープメモリが不足している様子。なのでヒープメモリを大きくすれば解決するというわけです。


現在のヒープメモリのサイズを確認する


まず以下のコマンドで現在のヒープメモリのサイズを確認してみます。ここでは
/bin/bash
のヒープメモリのサイズが不足しているみたいなのでこれを確認します。
peflags -x /bin/bash


するとどうやら結果がでました。

gnupack_error2.png


ヒープメモリのサイズを増やす


とりあえずヒープメモリのサイズを倍にしようと思います。

cygwinターミナルをいったん閉じて、Windowsのエクスプローラーから
gnupack\app\cygwin\cygwin\bin\ash.exe
を起動します。

そして以下のコマンドを実行。
/bin/peflags -x0x400000 /bin/bash


gnupack_error3.png

なぜか1回目と2回目はうまくいかずに3回目でうまくいきました。なんでだろう。コマンド間違ったりはしてないと思うのですが。

ちなみに同じ動作をするコマンド
peflags -x0x400000 /bin/bash
をgnupackのcygwinで実行しても
/bin/bash: skipped because could not open
となりうまくいきません。

変更が完了したらgnupackのcygwinを再起動して
peflags -x /bin/bash
で再びサイズを確認すると

gnupack_error4.png

しっかり2倍になっています。


ヒープメモリを増やしてから一日つかってみた


改善されました。いまのところエラーは出ていません。解決したといっていいかも。

もしまた同じエラーが出たらヒープメモリをもう少し増やしてみるとか。


入門 GNU Emacs 第3版

中古価格
¥977から
(2017/2/11 23:53時点)



タグ:gnupack
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/5932167
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
最新記事
最新コメント
カテゴリーアーカイブ
タグクラウド
<< 2018年05月 >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
プロフィール
さんの画像

情報系を専攻する学生。 しばらく使わなかったりした知識は忘れていくのでこのブログにまとめてみたり。
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。