fc2ブログ
topimg.jpg


【問題解決】Linux上でChrome動かすとハングするんだが・・・・

●問題事象
ubuntsでChromeでタブを4〜5個くらい同時に開くと、
CPU使用率が100%になりOS全体がハングしてしまう。

●システム構成
VMwareの仮想マシン

OS:ubunts16.04
CPU:2コア4スレッド(4vCPU)
メモリ:2GB
SSD:30GB

●原因
仮想メモリ(物理メモリ+SWAP領域)の枯渇。
メモリ2GBの設定だと、Linux普通にインストールすると、SWAP領域(厳密にはSWAPファイル)が
1.5GBしか取られていない。つまり利用可能な仮想メモリ空間は3.5GB。
これを食いつぶしてしまったため、スワップすることもできず、
枯渇したアドレス空間を頑張ってCPU使って解放しようとしていた模様。


●調査過程
swapが多発。CPUのsysが80〜90%。

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 1288100 117684 5408 320932 123 0 426 12 3070 5057 24 23 53 0 0
12 0 1378380 69076 2612 346172 775 19130 12362 19484 5930 9174 31 46 22 1 0
5 1 1458028 95056 1996 284900 1378 17911 23188 18746 6885 10217 37 56 6 1 0
4 1 1459804 53040 1176 227504 2475 2313 50680 3255 7506 8752 35 60 4 1 0
6 0 1459804 61068 452 190400 1081 949 129885 1656 8775 7180 19 77 2 3 0
8 0 1459804 55020 240 175832 273 239 220570 570 8769 6959 7 89 0 4 0
14 1 1459696 75916 632 179484 652 1216 112210 1555 7322 6523 17 80 1 2 0
10 0 1459804 53188 1120 183680 638 885 200169 1174 9239 7167 7 88 1 4 0
4 2 1459804 53360 292 176952 137 126 235447 610 9990 7667 4 91 1 4 0
10 2 1459804 53292 268 150020 129 106 335422 359 9564 7958 1 93 2 5 0


kswapd0が1コアCPU張り付き。あとはChromeが暴走。

top - 02:15:36 up 1 day, 56 min, 1 user, load average: 9.01, 3.88, 2.61
Tasks: 358 total, 6 running, 272 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 79.4 sy, 0.0 ni, 2.0 id, 6.6 wa, 0.0 hi, 11.2 si, 0.0 st
KiB Mem : 2012860 total, 53392 free, 1807912 used, 151556 buff/cache
KiB Swap: 1459804 total, 0 free, 1459804 used. 5868 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
59 root 20 0 0 0 0 R 95.0 0.0 10:56.43 kswapd0
10474 user01 20 0 889912 91408 1388 S 54.8 4.5 0:18.18 chrome
10127 user01 20 0 683712 29380 1480 R 45.9 1.5 1:08.49 chrome
10091 user01 20 0 1174968 59436 400 R 31.9 3.0 1:16.28 chrome
10619 user01 20 0 838968 62780 36 R 25.9 3.1 1:04.07 chrome
2087 user01 20 0 3741572 52312 0 R 19.7 2.6 15:55.85 gnome-she+
10244 user01 20 0 1079464 113860 0 S 14.2 5.7 0:24.91 chrome


Swap領域が1459804 kB確保されているうち、SwapFreeが0KBと枯渇している。


MemTotal: 2012860 kB
MemFree: 54160 kB
MemAvailable: 8592 kB
Buffers: 288 kB
Cached: 103072 kB
SwapCached: 348 kB
Active: 496524 kB
Inactive: 500292 kB
Active(anon): 492796 kB
Inactive(anon): 493068 kB
Active(file): 3728 kB
Inactive(file): 7224 kB
Unevictable: 13596 kB
Mlocked: 13596 kB
SwapTotal: 1459804 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 906892 kB
Mapped: 29536 kB
Shmem: 78712 kB
KReclaimable: 48280 kB
Slab: 130092 kB
SReclaimable: 48280 kB
SUnreclaim: 81812 kB
KernelStack: 15328 kB
PageTables: 66304 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 2466232 kB
Committed_AS: 8754448 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
Percpu: 40960 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 839552 kB
DirectMap2M: 1257472 kB
DirectMap1G: 0 kB


●対策〜SWAP領域の拡張
現状のSWAPファイル確認

user01@user01-virtual-machine:~$ free
total used free shared buff/cache available
Mem: 2012860 569652 1158080 424 285128 1273280
Swap: 1459804 1205368 254436
user01@user01-virtual-machine:~$ swapon -s
ファイル名 タイプ サイズ 使用済み 優先順位
/swapfile file 1459804 1205192 -2


root@user01-virtual-machine:/# ls -lh /
合計 1.4G
drwxr-xr-x 2 root root 4.0K 10月 24 02:47 bin
drwxr-xr-x 3 root root 4.0K 10月 24 02:50 boot
(略)
-rw------- 1 root root 1.4G 10月 24 02:23 swapfile
(略)


追加SWAPファイルの作成とマウント

root@user01-virtual-machine:/# dd if=/dev/zero of=/swapfile_ext bs=1M count=4000
4000+0 レコード出力
4194304000 bytes (4.2 GB, 3.9 GiB) copied, 13.9483 s, 301 MB/s

root@user01-virtual-machine:/# ls -l
合計 5555920
drwxr-xr-x 2 root root 4.0K 10月 24 02:47 bin
drwxr-xr-x 3 root root 4.0K 10月 24 02:50 boot
(略)
-rw------- 1 root root 1.4G 10月 24 02:23 swapfile
-rw------- 1 root root 4.0G 10月 30 03:04 swapfile_ext
(略)


oot@user01-virtual-machine:/# chmod 600 swapfile_ext
root@user01-virtual-machine:/# mkswap swapfile_ext
スワップ空間バージョン 1 を設定します。サイズ = 3.9 GiB (4194299904 バイト)
ラベルはありません, UUID=528e2e94-28b9-4472-9060-6f3a40cbc6c0

root@user01-virtual-machine:/# swapon swapfile_ext


結果確認

root@user01-virtual-machine:/# free
total used free shared buff/cache available
Mem: 2012860 1624288 80408 35752 308164 179384
Swap: 5555800 1303840 4251960

root@user01-virtual-machine:/# swapon -s
ファイル名 タイプ サイズ 使用済み 優先順位
/swapfile file 1459804 1303840 -2
/swapfile_ext file 4095996 0 -3


拡張したSWAPファイルの自動マウント設定の追加
root@user01-virtual-machine:/# vi /etc/fstab
 ※下記のように、/swapfile_ext の行を追記
root@user01-virtual-machine:/# cat /etc/fstab
UUID=739e0959-4a53-452a-8fef-dbed1e7e9ce9 / ext4 errors=remount-ro 0 1
/swapfile none swap sw 0 0
/swapfile_ext none swap sw 0 0



上記対策実施後は、Chromeのタブ10個以上開いてもハングしなくなった。
物理メモリは多く積まれるようになっても、SWAP領域の確保は重要!
スポンサーサイト



  1. 2019/10/30(水) 04:04:47|
  2. Linux/Unix
  3. | トラックバック:0
  4. | コメント:0
<< | ホーム | Windows10初回インストール時に日本語キーボード入力になってしまう件>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://192168111.blog71.fc2.com/tb.php/124-dff5bf70
この記事にトラックバックする(FC2ブログユーザー)