2022/12/04

[wsl2] lmdbは動くようになった

4年ほど前、こういう記事を書いていた。

hiro99ma blog: [lmdb][win10]Windows10 1803でWSLのファイル書込みがうまく動いてない?(2018/05/05)
https://blog.hirokuma.work/2018/05/lmdbwin10windows10-1803wsl20180505.html

あれから、WSL2 といってよいのかな? 正式版になったそうだ。

ASCII.jp: Microsoftストア版WSLが正式版になり、Windows 10でも動作可能に (1/2)
https://ascii.jp/elem/000/004/114/4114859/

image

Windows10 Pro にインストールして使ってみた。

Ubuntu 20.04 は今回新規だが、WSL についてはUbuntu on Windows の時代から同じ PC を使っているので、まっさらな状態から試すわけではない。
・・・この PC ももう6年も使ってるんだな・・・。

 

gist に作っていたサンプルコードを動かした。

$ ./tst
test1(): OK
test2(): OK
  key(5)=test1, data(5)=TEST1
  

エラーになってないということは大丈夫になったのかな?
ファイルアクセスが遅いとかで見直しが行われるようなことをどこかで読んだ気がする。

 

VirtualBox などではなく WSL が使えると、ストレージにあらかじめ確保されるサイズがなくなると思うので、あまり空き容量がない私としてはとても助かるのだ。
いや、そうだろうか?

WSL 2 仮想ハード ディスクのサイズを拡張する | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/wsl/vhd-size

確保するやん。
探すと、確かに ext4.vhdx というファイルがある。

image

df で見ると 2GB に近いのは /dev/sdc だろうか。

/dev/sdc       1007G  1.7G  955G   1% /

にしても、この PC は 1007GBもないし、よくわからん。

2022/12/03

[vbox] VirtualBox が急に動かなくなる

Windows11 で VirtualBox v7.0.4 + Ubuntu 22.04 を動かしているのだが、なんか急に操作を受け付けなくなることに気付いた。
ホスト側も重たくなってしまっている。

こちらの人はゲスト OS で Windows10 を動かしているようだが、こちらと同じような感じだ。

https://forums.virtualbox.org/viewtopic.php?f=6&t=107712

VBox.log を見るとこんなのが出ていて応答しなくなったようなのだ。

VMMDev: vmmDevHeartbeatFlatlinedTimer: Guest seems to be unresponsive. Last heartbeat received 4 seconds ago

あきらめて v6 にダウングレードした。
まあ、最初は仕方ないよねー

 

2022年12月3日 20:28追記

と思っていたのだが、ダウングレードしても応答しなくなるようになってしまった。
もしかしたら、いまやっている docker buildx build でやっている作業が原因なのか??

お仕事で docker buildx build する作業をやっているのだが、VirtualBox でやるのは初めてなのでこれが原因かどうかを判断できない。ありがちだが、ダウングレードしても前のファイルか何かが残っていて変になってしまったという可能性もありそうだ。アンインストールって、いろいろな可能性を考えてしまってファイルを残しがちになるので難しいよね。

 

・・・docker の線は消えた。
ゲストOS を立ち上げて vscode を立ち上げて放置していただけだが固まってしまった。
方式が違う VM の重ね合わせになるからかも、なんて考えていたが違ったようだ。

vscode が原因と言うことはないよな・・・?
ただ最近は direnv hook とか使ったり他にも設定し直したりしたので、vscode が直接ではないにしてもなくはないのか。
あとは、長い時間放置した後しか見ていないのでスリープみたいな電源制御もちょっと気になる。

わかるのは VM の CPU負荷が高いということだけで、本当にゲストOS 側でプロセスが立ち上がって非常に重たくなっているだけかもしれないのだ。

 

2022年12月4日 21:17追記

まだ現象が発生する。

いま疑っているのは kernel だ。
私の環境だと最新は GNU/Linux 5.15.0-56-generic x86_64 なのだが、インストールされている1つ前の GNU/Linux 5.15.0-53-generic x86_64 だと発生しない気がするのだ。

 

ブートローダで切り替えるのが面倒なのでデフォルトを 5.15.0-53 にしたかったのだが、どうにもうまくいかない。。。
/boot/grub/grub.cfg が最終的には使われているようだが、/etc/default/grub を変更して update-grub してもうまくいかんので、あきらめて apt remove/purge で削除した。

これで改善すると良いのだが。

 

2022年12月4日 22:24追記

あれから1時間が経過した。
未だに止まる気配がないので、これは成功したんじゃなかろうか。

りゆうはよくわからないが、VirtualBox と Linux 5.15.0-56 が相性が悪いとか、VBox Additions をやったことで相性が悪くなるとか、そんなことかもしれん。

む、ということは VirtualBox 7 にしたこと自体は影響がなかったのか。
元に戻そう。

 

2022年12月4日 23:41追記

VirtualBox 7 に戻して1時間が経過した。
未だに止まる気配がないので、やはり VirtualBox のバージョンには関係が無かったのか。
すまん、疑って。

2022/11/20

[vbox] VirtualBox7にするとGuest Additionsのアップグレードがあった

VirtualBox のバージョン 7 がリリースされていた。

https://www.virtualbox.org/

アップグレードして Ubuntu を起動し、さあ Guest Additions をアップデートしようと CDイメージの挿入をしようとしたところ、メニュー項目が増えて「Upgrade Guest Additions...」があった。

選択するとアップグレードされるようだった。画像はアップグレード後に撮影したのでグレーアウトされているが、ちゃんと選択できるようになっていたのだよ。

image

CDイメージを挿入しても大した手間ではないとはいえ、面倒であることに変わりは無かったから助かる。

2022/11/13

[npm] systemctl で npm を動かすのは面倒そうだ

お仕事で JavaScript というか TypeScript というか、node.js で動くアプリを作った。
サーバみたいなもので、ずっと動いていてほしい。

となるt、systemd というか systemctl というか、そういうやつで動いていてほしい。


最初は node.js へのフルパスを書いて、直接パラメータなども書いて動かしていた。
が、パラメータの種類が増えて、最後の方になると TypeScript のトランスパイルも行いたくなったので npm で pre などを付けて開発をしていた。

そこまでくると、node.js ではなく npm の方を使って systemctl で実行して欲しいと思うのが人情だろう。

npm も同じようにフルパスで書いてあげると、それは systemctl で動いた。
しかしそこから node を実行するようにしていると、そちらは PATH が通っていないために実行エラーになってしまった。
systemctl が動くユーザでも動くような PATH に置いてあれば良かったのだが、node は nvm とか nvs のようなバージョン管理している方のパスに置いていたのだった。
まあ、動かんよね。

 

検索してみたものの、あまり対策はなさそうだった。

  • node はパスが通ったところに置く
    • そうするとバージョン管理している意味が無いよね
  • スクリプトファイルを置いてそちらに全部書く
    • まあこっちが妥当なのかな
  • node をフルパスで書いて npm を使わない

というわけで、今回は 最後のパターンを使った。
systemctl みたいな権限を使って実行するのだったら、パスの回避だけでスクリプトを作りたくなかったというところか。スクリプトで実行すること自体に意味があるんだったらやったのだけど、今回はそうじゃなかったからなぁ。

2022/11/05

[win11] エクスプローラの上側が大きい

うまく表現できなくて済まない・・・。

image

Windows Update をしたら見た目が変わっていた。
タブが増えて、使わないツールバーだけでも広かった領域がさらに広々してしまった。
表示を小さくできないだろうか。

 

困ったときの Explorer Patcher !!

image

という設定にするとここまで小さくなった。

image

そうそう、このくらいがありがたいのだよ。

フォルダーオプションがなくなってしまったのだが、それは Open Shell のツールバーに追加してしまえばよさそうだ。
以前は Open Shel のツールバーはアイコンが右側に寄っていたのだが、Windows Update してからか左側に寄って表示されるようになった。まあ、そのくらいは気にしなくてよいか。