質問編集履歴

1

修正

2018/08/12 05:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,98 @@
1
- Google Colaboratoryにおけるtopコマンドの出力がおかしいです。
1
+ Google Colaboratoryにおけるtopコマンドの出力がおかしいです。
2
2
 
3
3
 
4
4
 
5
+ Colaboratoryにて、実行したいノートブックとtopコマンドで確認する用のノートブックの2つを動かしました。上側の出力がtop、下側がnvidia-smiの出力結果です。
6
+
7
+
8
+
9
+ VIRTが巨大化しているにもかかわらず、%CPUや%MEMは低いままです。VIRTは仮想メモリの使用量という認識なのですが、このような出力は問題ですよね?
10
+
11
+ また、nvidia-smiに、何一つとしてプロセスが表示されないことも疑問です。
12
+
5
- ランタイムをPython3/GPUに設定えで、
13
+ この場合だと、python3と表示されるのではないのでか?
14
+
15
+
16
+
17
+ ```top
18
+
19
+ =Hmtop - 05:37:36 up 49 min, 0 users, load average: 0.00, 0.01, 0.03
20
+
21
+ Tasks: 10 mtotal, 1 mrunning, 9 msleeping, 0 mstopped, 0 mzombie
22
+
23
+ %Cpu(s): 4.6 mus, 2.8 msy, 0.0 mni, 90.8 mid, 1.7 mwa, 0.0 mhi, 0.1 msi, 0.0 mst
24
+
25
+ KiB Mem : 13335192 mtotal, 181996 mfree, 1706156 mused, 11447040 mbuff/cache
26
+
27
+ KiB Swap: 0 mtotal, 0 mfree, 0 mused. 11043976 mavail Mem
28
+
29
+
30
+
31
+ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32
+
33
+ m 1 root 20 0 39148 6448 5048 S 0.0 0.0 0:00.10 run.sh
34
+
35
+ m 62 root 20 0 677836 42560 25432 S 0.0 0.3 0:00.92 node
36
+
37
+ m 72 root 20 0 682736 53372 25980 S 0.0 0.4 0:02.33 node
38
+
39
+ m 78 root 20 0 182144 56572 12348 S 0.0 0.4 0:03.63 jupyter-no+
40
+
41
+ m 86 root 20 0 38.453g 927520 444764 S 0.0 7.0 0:11.70 python3
42
+
43
+ m 110 root 20 0 38.574g 994.8m 302728 S 0.0 7.6 0:45.80 python3
44
+
45
+ m 769 root 20 0 127784 6528 4336 S 0.0 0.0 0:00.03 dirmngr
46
+
47
+ m 1240 root 20 0 192396 36624 9812 S 0.0 0.3 0:00.45 google-dri+
48
+
49
+ m 1279 root 20 0 33960 4740 3636 S 0.0 0.0 0:00.98 sh
50
+
51
+ 1280 root 20 0 65356 7028 5276 R 0.0 0.1 0:00.00 top
52
+
53
+ ```
54
+
55
+
56
+
57
+
58
+
59
+ ```nvidia-smi
60
+
61
+ Sun Aug 12 05:37:21 2018
62
+
63
+ +-----------------------------------------------------------------------------+
64
+
65
+ | NVIDIA-SMI 384.111 Driver Version: 384.111 |
66
+
67
+ |-------------------------------+----------------------+----------------------+
68
+
69
+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
70
+
71
+ | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
72
+
73
+ |===============================+======================+======================|
74
+
75
+ | 0 Tesla K80 Off | 00000000:00:04.0 Off | 0 |
76
+
77
+ | N/A 46C P0 59W / 149W | 11214MiB / 11439MiB | 0% Default |
78
+
79
+ +-------------------------------+----------------------+----------------------+
80
+
81
+
82
+
83
+ +-----------------------------------------------------------------------------+
84
+
85
+ | Processes: GPU Memory |
86
+
87
+ | GPU PID Type Process name Usage |
88
+
89
+ |=============================================================================|
90
+
91
+ +-----------------------------------------------------------------------------+
92
+
93
+ ```
94
+
95
+ VIRTの巨大化を防ごうと以下のコードを実行しましたが、何の変化も得られませんでした。メモリ使用量を抑えるにはどうしたらよろしいでしょうか?
6
96
 
7
97
 
8
98
 
@@ -10,26 +100,28 @@
10
100
 
11
101
  import tensorflow as tf
12
102
 
13
- tf.test.gpu_device_name()
103
+ from tensorflow.python.keras import backend as K
14
-
15
- ```
16
104
 
17
105
 
18
106
 
107
+ # GPU接続確認
108
+
19
- と実行して、GPU0に接続できていることを確認します。
109
+ tf.test.gpu_device_name()
20
110
 
21
111
 
22
112
 
113
+ # GPU初期化
114
+
23
- そのあと、!topを実行すると、VIRTが38gと表示されます。
115
+ K.clear_session()
24
116
 
25
117
 
26
118
 
27
- これは、私だけなのでしょうか?
119
+ # メモリ使用量を必要な分だけに制限する
28
120
 
121
+ config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True))
29
122
 
123
+ session = tf.Session(config=config)
30
124
 
31
- VIRTが38gであることは問題ですよね?
125
+ K.set_session(session)
32
126
 
33
-
34
-
35
- 上記のコードを実行する前は、数万、数千であり、gやmがつくことはありません。
127
+ ```