Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
USP 友の会・シェル芸勉強会 LT - 2014/02/15

Shell で制限付き並列処理をしよう
日本 GNU AWK ユーザー会
斉藤 博文
hi_saito@yk.rim.or.jp
@hi_saito
Page 1

http:/...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

なぜ制限を付けるのか?
 ImageMagick で 1,000 枚の PNG 画像から
アニメーション GIF を並列処理で作成。
 メモリを消費してしまい、スワップで操作...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

Shell で並列処理
 bash 前提なので、数値演算は (( と )) で C
言語っぽく。
for (( i = 1; i <= 1000; i++ )); do
sle...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

ここで問題!
 メモリを無視して指定ジョブ数だけジョブを
投入する?
 コア数を無視してメモリを消費しきれるだけ
ジョブを投入する?

どちらがいいのだろうか?
Page 4...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

ジョブ数に制限をかける
MAX_JOBS=10

for (( i = 1; i <= 1000; i++ )); do
sleep 2 &
CJOB_NUM=$(( $(ps ...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

メモリに制限をかける
MEM=$(free -b | awk '/Mem:/ {print $2}')
MAX_MEM=$(awk '{print int($0 * 0.3)}'...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

良く使う並列処理
 xargs
 ジョブ数のみの指定
 make
 ジョブ数と Load Average の指定が可能

メモリに制限をかけるようなものってないもの
か?...
USP 友の会・シェル芸勉強会 LT - 2014/02/15

まとめ
 ジョブ数やメモリに制限をかけるような Shell
スクリプトがあまりなかったので作ってみた
よ。
 もちろん、両方の制限をかけても良いよね。
 I/O に制限をか...
Nächste SlideShare
Wird geladen in …5
×

Shell で制限付き並列処理をしよう

1.322 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • -- DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT -- ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... (Unlimited)
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

Shell で制限付き並列処理をしよう

  1. 1. USP 友の会・シェル芸勉強会 LT - 2014/02/15 Shell で制限付き並列処理をしよう 日本 GNU AWK ユーザー会 斉藤 博文 hi_saito@yk.rim.or.jp @hi_saito Page 1 http://gauc.no-ip.org/awk-users-jp/
  2. 2. USP 友の会・シェル芸勉強会 LT - 2014/02/15 なぜ制限を付けるのか?  ImageMagick で 1,000 枚の PNG 画像から アニメーション GIF を並列処理で作成。  メモリを消費してしまい、スワップで操作 不能に陥る。orz  何でこんなことをしていたかは秘密で す。w 何らかの制限を付けないと同じミスが出る Page 2 http://gauc.no-ip.org/awk-users-jp/
  3. 3. USP 友の会・シェル芸勉強会 LT - 2014/02/15 Shell で並列処理  bash 前提なので、数値演算は (( と )) で C 言語っぽく。 for (( i = 1; i <= 1000; i++ )); do sleep 2 & done 処理内容によっては大いに不安が残る Page 3 http://gauc.no-ip.org/awk-users-jp/
  4. 4. USP 友の会・シェル芸勉強会 LT - 2014/02/15 ここで問題!  メモリを無視して指定ジョブ数だけジョブを 投入する?  コア数を無視してメモリを消費しきれるだけ ジョブを投入する? どちらがいいのだろうか? Page 4 http://gauc.no-ip.org/awk-users-jp/
  5. 5. USP 友の会・シェル芸勉強会 LT - 2014/02/15 ジョブ数に制限をかける MAX_JOBS=10 for (( i = 1; i <= 1000; i++ )); do sleep 2 & CJOB_NUM=$(( $(ps --ppid $$ | wc -l) - 1 )) while :; do CJOB_NUM=$(( $(ps --ppid $$ | wc -l) - 1 )) if (( ${CJOB_NUM} < ${MAX_JOBS} )); then break fi done done 本当に CPU 律速しているのだろうか? Page 5 http://gauc.no-ip.org/awk-users-jp/
  6. 6. USP 友の会・シェル芸勉強会 LT - 2014/02/15 メモリに制限をかける MEM=$(free -b | awk '/Mem:/ {print $2}') MAX_MEM=$(awk '{print int($0 * 0.3)}' <<<${MEM}) for (( i = 1; i <= 1000; i++ )); do sleep 2 & CJOB_MEM=$(ps -o rss --ppid $$ | awk 'NR>1 {s+=$0} END{print s}') while :; do CJOB_MEM=$(ps -o rss --ppid $$ | awk 'NR>1 {s+=$0} END{print s}') if (( ${CJOB_MEM} < ${MAX_MEM} )); then break fi done done いわゆる CPU バウンドな処理 Page 6 http://gauc.no-ip.org/awk-users-jp/
  7. 7. USP 友の会・シェル芸勉強会 LT - 2014/02/15 良く使う並列処理  xargs  ジョブ数のみの指定  make  ジョブ数と Load Average の指定が可能 メモリに制限をかけるようなものってないもの か? Page 7 http://gauc.no-ip.org/awk-users-jp/
  8. 8. USP 友の会・シェル芸勉強会 LT - 2014/02/15 まとめ  ジョブ数やメモリに制限をかけるような Shell スクリプトがあまりなかったので作ってみた よ。  もちろん、両方の制限をかけても良いよね。  I/O に制限をかけても面白いけど、良い方法 が見当たらなかった。 どちらが良いかは要件次第 Page 8 http://gauc.no-ip.org/awk-users-jp/

×