teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

新たに気づいた点を追記

2021/03/02 17:41

投稿

longcat
longcat

スコア11

title CHANGED
File without changes
body CHANGED
@@ -52,6 +52,36 @@
52
52
  ということが今一つわからないため、この程度しか書けないのですが、
53
53
  回答にはこのような情報が必要、ということがあれば教えてください。)
54
54
 
55
+ ### Javaコマンドのオプションによる結果の違い(追記)
56
+ 環境により結果が変わると思っていたのですが、
57
+ 同じ環境でもjavaコマンドのオプションで-Xms32g -Xmx64gをつけるかどうかで、
58
+ 結果が変わるということがわかりました。
59
+ 具体的には環境Bでつけていた場合は
60
+ ```
61
+ >java -jar -Xms32g -Xmx64g *****.jar
62
+ str1 = "abcdefghij" size(byte) -> 80
63
+ str2 = "山田太郎" size(byte) -> 64
64
+ ```
65
+ となるのですが、
66
+ 環境Bでもつけていない場合、
67
+ ```
68
+ >java -jar *****.jar
69
+ ```
70
+
71
+ ```
72
+ >java -jar -Xms4g -Xmx8g *****.jar
73
+ ```
74
+ では、
75
+ ```
76
+ str1 = "abcdefghij" size(byte) -> 64
77
+ str2 = "山田太郎" size(byte) -> 48
78
+ ```
79
+ となり、環境Aと同じになりました。
80
+ なので、もしかしたら環境の違いではなく、こちらが本質なのかもしれません。
81
+ 逆に環境Aで-Xms32g -Xmx64gを指定したらどうなるのかは、
82
+ そんなにメモリを搭載していないため、確認できていません。
83
+
84
+
55
85
  ### メモリ使用量測定に使用したライブラリ(pom.xmlの記載)
56
86
 
57
87
  ```

1

情報追加依頼により、System.out.println(System.getProperty("os.arch"))の出力結果を追記

2021/03/02 17:41

投稿

longcat
longcat

スコア11

title CHANGED
File without changes
body CHANGED
@@ -70,6 +70,11 @@
70
70
  ```
71
71
  (上記のコード例ではjava-sizeofの方を記載しましたが、jol-coreを使用した場合も結果は同じ値になりました。)
72
72
 
73
+ ### System.out.println(System.getProperty("os.arch"))の出力結果
74
+ (情報追加依頼により追記)
75
+ System.out.println(System.getProperty("os.arch"));
76
+ の出力結果は環境A、Bともに同じで、"amd64"でした。
77
+
73
78
  ### 知りたいこと
74
79
  1.環境により同じデータのインスタンスであっても異なるメモリ使用量となるのは「普通のこと」なのか?それとも、「本来は同じになるはず」…だが、自分の何らかのミス、勘違いにより異なっているのか?
75
80