本当は夏のPC入れ替え記事の投稿を2週に分けてやろうと思っていましたが、結局はしばらくの間放置が続いてしまっていました。
その後、サブPCとして購入したMBAを入れ替えていたり、メインPCにしても当初の想定とは異なる稼働をさせていたりと、実運用向けの構築をしてあるので、そのあたりも追記し、「入れ替え顛末のその後」、みたいな感じで記事を書いてみます。
Wrap-Up
まずはハードウェアを「一新」したところまででいったん記事を書きました。 racchie.hatenablog.com
他にもサブマシンの入れ替えの話もありますが、地味に大がかりな入れ替えをし、ついでに新しいマシンも手に入れてみたりと(ChromebookとMBP)、いろいろと環境構築をしていたのでアタマの中がだいぶ混乱してきました。ついでにセッティングしながら別の仕事が急に入ってきたりと、目論見通りにはいかないのが世の常、というところです。
※注:メインPCについてのセッティングに注目して書いていきます。
メイン:クロバコ改
計画(設計)
そのままSSDごと入れ替えてもいいのですが、MBAの改造でM.2のSSDが一つ余っているので、そこにOSを入れてしまいます。ただし、今回はクローニングではなく、クリーンインストールをしています。クリーンインストールの手順に関して詳しくは割愛しますが、まずWindowsをインストールし、マザーボード用のドライバディスクからインストールできるものを全部入れ*1、ディスプレイ関連のドライバもインストール*2、最後にWindows UpdateでWindowsを最新の状態にする、という手順です。
アプリ導入に関しては、Wingetを使う前提で考えていたのですが、それより前にMicrosoft Store(旧Windowsストア?)の活用を考えてみます。基本的にアプリのアップデートが自動で行われることが望ましいし、そのほうが楽だと思っていて、できるだけ自動でアプリの更新を行わせる仕組みを使いたいわけです。アプリそのものにも自動更新機能を有するものもありますが、インストールされているモノが管理されている状態にしておくことで、無駄なアップデート作業は減るはずです。そこで、事前にWingetでエクスポートしておいたリストから、Microsoft Storeでインストールできるものを探し、事前にインストールをし、リストからはインストール済のアプリを削除していく、という作業を行っていきます。同時にWingetでインストールできなかったアプリのうち、Micorsoft StoreにあるものもMicrosoft Storeを開いているうちにインストールをしてしまいます。
Microsoft Storeでのインストール作業が終わったら次にWingetです。本来は管理者権限でターミナル(Windows TerminalはMicrosoft StoreからDL済ですが、コマンドプロンプトやPowerShellでも行けるはず)を実行し、インポート処理をすれば勝手にアプリをインストールしてくれます。コレ、スゲー楽。今回は間違えて一般権限で実行したのですが、それでもインストール時に一部のアプリで必要になる管理者権限確認のメッセージが都度出てくるだけなので、それくらいならばまぁ許容範囲というか。一部のアプリが「インストーラーのハッシュが一致しません」とかエラーになったりもしますが、それほど大きな問題にもならないでしょう。これだけできていれば、あとはパッケージ管理外となるものをインストールするだけ、なのですが、OfficeとAWS系、それとチャットアプリくらいかな、リストを見る限りだと。
それから、結局WSLは元のイメージを使わず、できるだけ最小構成で動かそうと思っています。メモリを食うのも大きな理由の一つではあるのですが、Windows11を導入しているのでWSLg(Windows Subsystem for Linux GUI)も試したいと考えています。しかし、旧マシンのUbuntuイメージで一度Xの起動を試みたことがあり、コンポーネントが競合を起こすような気がしないでもないので、こっちも真っ新な状態でクリーンインストールをしようと思います。また、Flutterのセットアップを旧マシンのWSL環境で構築しなおそうとしたときに、複数のWSLコンテナで環境を「キレイに」するというやり方をしている人たちがいて、それも環境がスッキリするような気がしているのでFlutter用とWebアプリ用にコンテナを分けて作ってみようかと思います。
実際の構成
入れ替え作業から数か月、実際の運用はこんな感じになっています。
ソフトウェア構成
- OS(Windows11)
- WSL(v2)
- Docker Desktop
- 旧マシンUbuntuに連動
- VSCode
- 動画・配信系
- その他特記が必要なソフトウェア
- Microsoft Office(Microsoft365)
- Postman
- APIをいじる時に使う
WSLを使うようになってから、あまり開発用のアプリケーションを(本体側に)入れなくなりました。以前だとPHPだったりGitだったりNode.jsだったりと、いじってみたいと思うものがあればとりあえずインストールしていましたが、現状は基本開発に関してはWSL/Dockerに集約させています。
Windowsを使っているのに開発はLinuxでやっている、みたいな感じですが、もともと開発用にLinuxを使っていた時期もあったし、Macメインで開発をしていた時期もあり、Unix系のOSには慣れています。むしろ今でもWindows単体での開発をするのは慣れていないし違和感を感じます*3。
ハードウェア構成
大きな変更はありませんが、CPUだけ当初のものと変更しています。
パーツ | スペック | 備考 |
---|---|---|
MB | MSI Z370 GAMING PLUS | |
CPU | Core-i3 8300 3.7GHz | 当初購入時のCore-i3*4 8100から変更 |
メモリ | Coursair DDR4-3200 32GB(16GBx2) | デュアルチャンネルだと起動しないのでシングルチャンネルで運用中 |
グラボ | Radeon RX550 VRAM:2GB(GDDR5) | 旧マシンからの移設 |
記憶装置 | Kingmax PCIe SSD 1TB | M.2接続 |
ベンチマーキング
旧クロバコ(通称:クロスケ)との比較をベンチマークソフトを使って行っています。画像貼り付けをしようと思ったのですが、見にくいので表にまとめるのみとします。ちなみに使用したソフトは、
- FFXV BENCHMARK
- CrystalDiskMark
の2つです。
項目 | 旧(クロスケ) | 新(クロバコ改) | 備考 |
---|---|---|---|
FFXV Benchmark | スコア:445(動作困難) | スコア:1084(動作困難) | 標準品質/2560x1440/ウィンドウ |
CrystalDiskMark | R: 211.84/W: 139.70 | R: 2405.70/W: 2041.45 | SEQ1M Q8T1 |
R: 190.97/W: 186.66 | R: 1454.57/W: 1886.34 | SEQ1M Q1T1 | |
R: 14.56/W: 30.79 | R: 294.36/W: 191.78 | RND4K Q32T1 | |
R: 11.06/W: 12.89 | R: 43.05/W: 114.04 | RND4K Q1T1 |
FFベンチマークに関しては、マシンの基本スペックは上がっているのである程度数値も高くはなったけれど、グラボが貧弱なので(FFの)動作は難しいだろう、ということだと理解をしています。実際にウルトラワイドディスプレイを使っていて、グラボ的にはギリギリのスペックで動かしている感は否めず、買い替えを現在検討しています(ドライバ入れ替えが面倒なのでRadeonシリーズのほうがいいかな)。
CrystalDiskMarkは単純にSSDの性能比と考えていますが、旧マシンではSATA接続、現マシンはM2接続という転送速度の違いがあり、容量も含めた単純比較はできないとは思いますが、それでも「一桁」違うディスクの転送速度はすごいなぁ、と思いました。
メモリに関しては上述の通りシングルチャンネルでの運用としていますが、マザボの設定(オーバークロック)あたりでデュアル対応ができるのか、そもそもメモリを変えればなんとかなるのかが今一つわかっておらず、なんとも言えないところですが、今のところ業務に支障がない程度に動いてくれているのでメモリの換装等は今後の課題でしょうか。
インプレッション
今のところ、通常の業務運用面では問題になるところはあまりありません。仮想マシンを2つ(WSL)起動させ、さらにDockerでの仮想マシンを2つ起動させていても一応は動作します*5。
普段から複数のアプリケーションを起動しており*6、都度切り替えながら作業を進めているのですが、動作が重くなったりすることは一度もありませんでした。
欲を言えば止まらないですし、かと言ってマシンが早ければ仕事が早く終わるというものでもないので、使いながら不具合が出たところを増強していく、というスタイルで今後もマシンを使っていきたいです。
欲
ちなみに「欲」ですが、いくつかあって、
- CPUの性能を上げたい
- グラボの性能を上げたい
- 光らせたいw
が今やってみたいことでしょうか。
CPUに関しては、「一応」公称スペック上は第8世代のCoreプロセッサ(およびPentium/Celeron)に対応している、とはなっていますが、噂では第9世代(LGA1151ソケット、いわゆるCoffee Lake Refreshアーキテクチャ)でも動作するらしい、とのことで、中古の第9世代を中心に中古CPUを日々探していたりします。
CPUのアップグレードよりはグラボアップグレードのほうが優先度は高いです。ただ、中古のRadeonという出物が少ないというのもありますが、CUDAをいじってみたいとかAI関連の開発もやってみたいとか、妙なことを考えていたりするのでGeForceも検討してはいます。
ヒカリモノの話は、別にどうでもいいことではあるのですが、今使っているメモリを購入した時*7に、店員さんから「光るのどうっすか?興味ないっすか?」と言われたのが心の奥に引っかかっているレベルです。
実際にMBは光っており、ケースも透明カバーが付いているものなので起動中はマシンが「妖しく」光っているはずなのですが、デスクの横にPCを置いていて、光っているところを隠している状態なので今の状態では光らせてもあまり意味はないかな、という状況です。
最後に余談でも
結論だけ言えば、いろいろと入れ替えたことで大きく変わったことはあまりないです*8。むしろ入れ替え作業の間に並行して部屋の片付けを大規模に行っていて、モノの量が減ったりしていることのほうが「変化」という点では大きいのではないでしょうか。
マシンどうこう、と言う話よりも、光ることもあるマシンを手に入れ(てしまっ)たことで、
「せっかくだからかっちょよく光らせてみようか」
「光るマシンを置くならもっと部屋も模様替えしてみようか」
などと、外見寄りの「欲」のほうが増えているような気はしています。悪いことではないですし、むしろ部屋を片付けようという欲が出てきている方が仕事環境を快適にするという点ではいいことなのではないかとすら思います。
今後もマシンの増強をしながら良い「住環境」を作っていきたいです*9。
*1:あとで不要なものを削除する予定
*2:ウルトラワイドディスプレイなのでこれをやっておかないとまともな表示にならない
*3:それでも新人研修に関してはWindows単体の開発を想定するわけで、できないわけではないです
*4:元記事ではi7と記載していたが実際にはi3
*5:Docker仮想マシンはメモリを制限して使っていたり高速化をしていなかったりするのでそもそも遅いのですが、基本Docker仮想マシンはWebアプリケーションの動作確認用なので「修正箇所が確認できればOK」です
*6:ちなみに今この瞬間だとフロントアプリだけで7種類15窓、バックエンドにいる窓が5、常駐系アプリも10程度
*8:開発環境として快適になってはいますが
*9:主題が変わっている気がしますがそれはご愛敬ということで