selenium を毎分プログラムを実行する際にCPUが上昇してしまいます。
cgroup でのCPUの上限を決める方法を検討していますが、他に方法はあるのでしょうか?
chromeが複数立ち上がってしまっているのもなぜかわかっていません。
下記の実行履歴を見るとcatなどで複数表示されている状況です。
ps auxf
root 4834 0.0 0.1 150932 2816 ? S 07:51 0:00 \_ CROND root 4837 0.0 0.1 113148 2720 ? Ss 07:51 0:00 | \_ /bin/sh -c /home/ec2-user/cron/sample.sh root 4840 0.0 0.1 113148 2888 ? S 07:51 0:00 | \_ /bin/sh /home/ec2-user/cron/sample.sh root 4865 0.5 1.3 225552 28052 ? S 07:51 0:00 | \_ /usr/bin/.pyenv/versions/3.7.4/bin/python sample.py root 4969 0.7 0.6 199204 12744 ? Sl 07:51 0:00 | \_ /usr/local/bin/chromedriver --port=xxxxx root 4975 25.3 6.9 896504 141604 ? Sl 07:51 0:15 | \_ /opt/google/chrome/google-chrome --allow-running-insecure-content --disable-application-cache --disable-backg root 4979 0.0 0.0 107988 228 ? S 07:51 0:00 | \_ cat root 4980 0.0 0.0 107988 216 ? S 07:51 0:00 | \_ cat root 4982 0.0 2.4 527780 49656 ? S 07:51 0:00 | \_ /opt/google/chrome/chrome --type=zygote --no-zygote-sandbox --no-sandbox --enable-logging --headless --lo root 4983 0.0 2.4 527780 49784 ? S 07:51 0:00 | \_ /opt/google/chrome/chrome --type=zygote --no-sandbox --enable-logging --headless --log-level=0 --headless root 5017 62.0 9.8 4956300 201096 ? Rl 07:51 0:37 | \_ /opt/google/chrome/chrome --type=renderer --no-sandbox --allow-pre-commit-input --enable-automation -
Log
4187 root 20 0 4833m 185m 121m R 83.3 11.7 0:36.43 chrome 4145 root 20 0 818m 136m 100m S 13.7 6.8 0:19.76 chrome 4152 root 20 0 515m 48m 38m S 0.0 2.4 0:00.08 chrome 4153 root 20 0 515m 48m 38m S 0.0 2.4 0:00.08 chrome
ソースコード
options = webdriver.ChromeOptions() options.add_argument("--profile-directory") options.add_argument("--headless") options.add_argument("--disable-gpu") options.add_argument("--window-size=1280x1696") options.add_argument("--disable-application-cache") options.add_argument("--disable-infobars") options.add_argument("--no-sandbox") options.add_argument("--hide-scrollbars") options.add_argument("--enable-logging") options.add_argument("--log-level=0") options.add_argument("--single-process") options.add_argument("--ignore-certificate-errors") options.add_argument("--homedir=/tmp") options.add_argument('--allow-running-insecure-content') options.add_argument('--disable-web-security') options.add_argument('--disable-desktop-notifications') options.add_argument("--disable-extensions") options.add_argument('--user-agent=hogehoge') options.add_argument('--lang=ja') driver = webdriver.Chrome( "/usr/local/bin/chromedriver", chrome_options=options) driver.get('https://www.google.com/') driver.close() driver.quit()
ご存知の方ご教授ください。
あなたの回答
tips
プレビュー