Pixel3_開封の儀
はじめに
届いてからだいぶ時間たってしまったし、既に同じような記事もたくさんあるけど練習も兼ねて書いてみます。 少しだけどオリジナリティとして買ってみたケースと保護フィルムの感想も書いてみようと思います。 ※商品の感想はあくまで個人的な感想ですので参考程度に
外装
箱はすごいスベスベしていて高級感ある。
正面 裏 斜め
内容物
開封!
いいですね~。早速本体が目に入ってきます。
本体の下には、Sim取り出し用ピンやイヤホン、充電器、データ以降用ケーブルが入ってます。
以上が箱の中身です。
本体については基本的に省こうと思います。裏面について少し。 本体の裏面は上下で違う手触りですが、上部は指紋がつきにくいツルツルのガラス、 下部は非常に細かい凹凸の磨りガラスのようになっています。下部ももちろん指紋はつきません。 非常に気持ちの良い手触りです。 消耗品と割り切れる値段ならケースつけずに運用するんですがね…
追加購入品
以下は本体とは別に買ったものについて。
ケース
色々調べましたが、純正ではなくSpigenのケースを買ってみました。
【Spigen】 スマホケース Google Pixel3 ケース 対応 レンズ保護 超薄型 超軽量 指紋防止 シン・フィット F19CS25038 (ブラック)
- 出版社/メーカー: Spigen Japan
- メディア: Wireless Phone Accessory
- この商品を含むブログを見る
使用して1週間ほどですが全く不満がなく満足しています。
保護ガラスフィルム
ガラスフィルムは今まで使ったことがなかったので直感で以下を選びました。
- 出版社/メーカー: Miitech
- メディア: エレクトロニクス
- この商品を含むブログを見る
透明度も高く指紋もつきにくかったので、ガラスの質は良いものだと思います。 ただ、Pixel3本体の端が局面になっているせいか、上下左右の4方とも端が浮いてしまいます。 左右はまだ浮いてる部分が狭いのですが、上下が3mmほど本体とくっつかずに浮いているため、 しばらく使っているとホコリが入ったりしそうだし、そもそも浮いてるので非常に気になります。 また、左右も画面の端までカバーできていないため、ガラスフィルムの厚みで端にラインが入ったように見えて気になります。
保護フィルム
さて、ガラスフィルムは個人的には失敗でした。なので、次は昔ながらの柔らかい保護フィルムを買いました。
防気泡 フッ素防汚コート 光沢保護フィルム Crystal Shield Google Pixel 3 前面のみ 日本製
- 出版社/メーカー: PDA工房
- メディア: エレクトロニクス
- この商品を含むブログを見る
逆に防指紋ではないため、フィルム部分で画面の光が乱反射しないので白がはっきり白に見えます。
(経験上、防指紋は乱反射して白が赤青緑がうっすら見えてしまいます)
また、ガラスではなく柔らかいフィルムなので局面までしっかり張り付いてくれます。
使用して3日ほどですが満足しています。
使用感
最後にPixel3の使用感を簡単に。
処理にもたつきを感じることは当然ながらありません。
ホーム画面のPixelLauncherは基本的なことはできますが、もう少しカスタマイズできたらいいなと思います。
電池持ちは良いのか悪いのかまだよくわかりません。 まぁ一日の途中で充電が必要になることはありませんが、仕事してる平日でも毎日充電は必須ですね。 AI?による自動調整バッテリーという機能で癖を覚えてくれて電池持ちが減るのかな? 今後に期待です。
おわりに
Pixel3が到着したので開封の儀と簡単なレビューを書いてみました。 もっと細かく書いてほしい部分があればコメントいただければ対応したいと思います。 次回は近いうちにPixelStandについて書いてみたいと思います。
Pixel3が発送された!
11/1以降に発送だと思ってたから予想より早くて嬉しい!
Tomcatのメモリチューニング+α
はじめに
Tomcatをサーバ上で運用するときのメモリ割り当てなどの設定に困ったので色々調査してまとめてみました。
TL;DL
以下が今回作成した設定値。
【2018/04/11時点】 -d64 -server -XX:+UseCompressedOops -Xms1024m -Xmx1024m -XX:NewSize=384m -XX:MaxNewSize=384m -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=256m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:SurvivorRatio=6 -XX:MaxTenuringThreshold=15 -XX:TargetSurvivorRatio=80 -Xloggc:/${CATALINA_BASE}/logs/gc.`date '+%Y-%m-%d'`.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/${CATALINA_BASE}/logs/java.hprof
メモリ空間の使い方
Tomcatを起動すると、以下のようにメモリ空間を確保します。
領域 | 説明 |
---|---|
サーバ上のメモリ空間 | 名前の通り。サーバ上の物理メモリの領域。 |
Javaヒープ | Tomcat上で動作するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 |
New領域 | 新規オブジェクトと閾値未満のオブジェクトが格納される。 |
Eden | 新規のオブジェクトが格納される。 |
From | CopyGC(ScavengeGC、マイナーGC)が実行されたとき、使用中のオブジェクトはここへコピーされる。Survivorとも呼ばれる。 |
To | CopyGC(ScavengeGC、マイナーGC)が実行されたとき、使用中のオブジェクトはここへコピーされる。Survivorとも呼ばれる。 |
Old(領域) | GCで閾値を超えたオブジェクトが格納される。 |
Nativeメモリ | Javaヒープ領域がJVMによって管理される領域に対して、NativeメモリはOSによって管理されるメモリ領域のこと。 |
Metaspace | クラスやメソッドの情報が格納される領域。 |
Cヒープ | Javaスレッドなどのバッファ領域として使用される。 |
スレッドスタック | スレッド毎に保持するスタック領域。命令の順序をスタックする。 |
※FromとToの違いはGCを参照。
GC(ガベージコレクション)について
GCとは、プログラムが確保したメモリ領域のうち、不要になった領域を自動的に解放する機能です。 使用できるメモリ領域が少なくなるとCopyGCまたはFullGCのどちらかが実行されます。 CopyGCはEden領域がいっぱいになると発生します。つまりCopy領域の対象はNew領域です。 一方、FullGCは対象がJavaヒープの全領域です。Old領域がいっぱいになると発生します。 CopyGCとFullGCの大きな違いは、GC処理の時間です。CopyGCの場合対象が狭いため、GCが必要になったとしてもGCにかかる時間が少なく、WEBアプリケーションに与える影響が少ないというメリットがあります。
GC | 対象領域 | 所要時間 | アプリケーションへの影響 | 説明 |
---|---|---|---|---|
CopyGC | New領域 | 短い | 小さい | 影響が小さいためある程度なら起こっても問題ない(頻発するのはNG) |
FullGC | Javaヒープ領域 | 長い | 大きい | 処理時間が長いためGC発生は最小限にとどめたい |
メモリ割当やその他諸々のオプション設定
上記構造よりメモリ割当を考えていきます。 Javaヒープのメモリ領域は多ければ多いほどいいと考えられますが、無限のメモリを搭載することはできないのでGCが起こることは避けられません。 また、搭載メモリの中で可能な限り大きく領域を確保してしまうと、CopyGCが発生してしまった場合に、処理すべきメモリ量が多くなってしまい、本来の処理時間よりも多くの時間がかかってしまう懸念があります。 よって、中途半端に大きくとるよりも、少量でも適切なメモリ量を設定した方が、システム全体のレスポンスが良くなると考えられます。
上記と詳細仕様(内容は伏せます)より、今回は以下の設定を作成しました。
【2018/04/11時点】 -d64 -server -XX:+UseCompressedOops -Xms1024m -Xmx1024m -XX:NewSize=384m -XX:MaxNewSize=384m -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=256m -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:SurvivorRatio=6 -XX:MaxTenuringThreshold=15 -XX:TargetSurvivorRatio=80 -Xloggc:/${CATALINA_BASE}/logs/gc.`date '+%Y-%m-%d'`.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintClassHistogram -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/${CATALINA_BASE}/logs/java.hprof
※64bitとして動作することや、サーバータイプで動作すること、ログの出力などの設定を追加しています。