タグ

Linuxに関するqaz76のブックマーク (103)

  • S3にデータをバックアップ (s3sync) | RISIN'

    2011-02-08  aws, s3, backup さくらVPSサーバからAmazon S3へのバックアップ方法をまとめました。 現時点(2011-02)のAmazon S3の価格は以下の通りです。今回はシンガポールにバケットを作ってみようと思います。価格は低冗長化ストレージだと、$0.093/GB! 安いですねぇ。 では早速バックアップしてみましょう。今回の環境は以下の通り: サーバ Ubuntu 10.04.1 LTS on さくらVPS Ruby ruby 1.8.7 (2010-04-19 patchlevel 253) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2010.02 1. 保存先のバケットを作成する AWS Management Console > S3タブを選択し、「Create Bucket」をクリッ

    S3にデータをバックアップ (s3sync) | RISIN'
  • WebLogic10.0でToo many open files

    WebLogicに負荷をかけたときに、 java.io.FileNotFoundException: /tmp/test.txt (Too many open files) java.io.IOException: java.io.IOException: Too many open files など、IO系の処理で「Too many open files」が発生した。 調べてみると、以下のページを発見。 BEA サポート診断パターン Too many open files WLのチューニングをしていなかったので、「ulimit -n」で確認すると、デフォルトの1024だった。これはファイル記述子の数で、簡単にいうとファイルを開ける最大数が1024ということ。また「ps -ef | grep ‘管理対象サーバ名’」で管理対象サーバのプロセスIDを調べ、「lsof -p PID | wc -

    WebLogic10.0でToo many open files
  • UNIX Links

    かつてはcshがポピュラーだったが現在ではbashが圧倒的に普及し、 多くのOSの標準shellとなっている、 User I/F bash command option (一部) -c string command を stringから読み込む -D ""で囲まれた変数も -i 対話型に動作(一部のシグナルを受けなくなる) - (--) これ以降のoptionを無視 --help help表示 --norc ~/.bashrcを読み込まない history機能 C shellを踏襲している。 ヒストリコマンド指定方法 C shellと同じだ。 ! ヒストリ置換の先頭 !! 最後のコマンド実行 !n ヒストリ#=nのコマンド実行 !-n 最後からn番目のコマンド実行 !string stringではじまるもっとも新しいコマンド実行 !?string? stringを含むもっとも新しいコマンド

  • 【bash】 echoとprintfの違い - どちらかというとごはん派

    echo "test" > work.txt printf "test" > work.txt 上記2つは同じ動作をするので、大きく違いはないし 変数+文字列の出力をprintfで行うことが多いが、 echoでも実現可能であるから、好みで使えば良いと思う。 ただ1点、改行に関してechoは注意が必要。 例えば FreeBSD・Linux 系は改行のオプションが -n 、 Solaris など SystemV 系は \c 、 bash は -n 、 tcsh はデフォルトでは -n だがシェル変数 echo_style で変更可能。 改行について悩みたくない場合は、echo コマンドではなく printf コマンドを使うこと。 echo と異なり、改行させたい場合 \n を付ける事。 % printf "abc"; printf "def" abcdef 文字列を表示するには %s を使う

    【bash】 echoとprintfの違い - どちらかというとごはん派
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • システムの時計を合わせることの重要性

    コンピュータ・システムの時刻を,その場所の標準時に合わせておくことは重要である。システムの時刻を時計代わりにするためではない。システム管理のために必要なのである。時刻は,あるシステムを他のシステムと関連付けるための重要な“基準”となるからだ。今回の記事では,「なぜシステムの時刻を正確にしておかなければならないのか」について考えてみる。 未来からメールが送られてくる まず,一般ユーザーの立場で考えてみよう。ユーザーのシステムの時刻が標準時と大幅にずれていたらどういう問題が発生するだろうか。身近な例としては電子メールが考えられる。メールにおいて,送信者のシステムの時刻が大幅にずれていると,受信者に迷惑をかけることになる。 例えば,送信者のシステムの時刻が大幅に進んでいると,受信者からは未来からメールが送られてきたように見える。逆に大幅に遅れていると,メールを受信時刻でソートしている場合などは,

    システムの時計を合わせることの重要性
  • 配列を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 値のリストで変数を初期化する。 括弧内に値のリストを指定したものを変数に設定することで、その変数を配列として使用することができる。 ※ ksh の場合は set コマンドを使用して配列の設定を行う。括弧を使用した設定方法は使用できないこともあるので、ksh で配列を使用する場合は、set コマンドを使用する。 $ array=(111 "foo" 222 "bar" 333 "foobar") #↑配列に値を設定する。 $ echo $array 111 #↑インデックスを指定しない場合は、先頭の値のみが出力される。 $ echo ${array[@]} 111 foo 222 bar 333 foobar #↑全ての値を出力する場合は、インデックスに「@」を指定する。 ksh の場合は以下のように set コマンドを使用する。 $ set -A array 111 "foo" 222

    配列を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • bashrc/vimrc再び。 - ここにタイトルを入力|

    .bashrcはじめ設定ファイルのたぐいはちょくちょく書き加えるので少しずつカオスになっていく。 ということで、整理しつつ、いくつかtips的なアレコレをまとめてみた。 .bashrc編 まずは.bashrcから 環境変数をいじる糖衣function in .bashrc .bashrcを見てみるとやたら目に付くのが"export HOGEHOGE=hoge:${HOGEHOGE}"という記述。 単に環境変数を拡張しているだけなのだが、何を追加しているのか分かりづらいし、なにより環境変数が空だったときに余分な":"がつくのが嫌い。 ということで書いてみたのがこんな。 function AddPathPre() { if [ -z "${!1}" ]; then eval "export ${1}=${2}" else eval "export ${1}=${2}:\${${1}}" fi

    bashrc/vimrc再び。 - ここにタイトルを入力|
  • 関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 関数名を指定したブロック内に処理を定義する。 関数名とその関数の処理を定義することで、一連の処理を関数を呼び出すことが可能になる。通常、関数の最後には return コマンドを指定し、その引数として与えた値が関数の終了ステータスとなる。 return コマンドの引数に指定できる値は、0 もしくは 1~255 の正の整数値のみである。マイナスの値も指定可能であるが、-1 を指定した場合は結果的に 255 になる。紛らわしいので、0 もしくは 1~255 の正の整数以外は指定しないようにする。 この return コマンドは省略可能で、省略された場合は関数内で最後に実行されたコマンドの終了ステータスが、関数自体の終了ステータスとなる。 関数を呼び出すときは、関数名と引数のリストを指定する。引数は省略可能である。呼び出すときの関数名は C言語などのように () を付ける必要はない。func(

    関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • BASHでの変数について - ファイヤープロジェクト

    BASHスクリプトにおける変数の取扱について説明する. 値の代入と参照 クォート 環境変数 パラメータ変数 配列 宣言 局所変数 値の代入と参照変数は宣言せずに使用できる.以下の文では,変数xに文字列hogeを代入している. x=hoge このとき,等号の両側にスペースをいれてはいけない.この変数xの内容を参照するには,変数の前に$を付ける. echo $x 変数の値は文字列型として扱われる.そして数値の操作をするときに数値文字列を数値に変換する.また,大文字と小文字は区別される.変数の開放にはunsetを使用する. $ x=100 $ echo $x 100 $ unset x $ echo $x クォートパラメータは空白,タブ,改行コードで区切られる.変数にこれらの値を代入するには,その値をダブルクォーテーションで囲う. x=”hoge foo” $変数名をダブルクォーテーションで囲う

  • bashの配列変数に関するTips - y-kawazの日記

    序文(飛ばしてよし) まず話は僕が書いてたスクリプトで、引数から"最後の"値だけを分離したものを使いたかったってのが始まりです。 最初の引数の分離なら shift でいけるんだが、最後をいきなり分離するのが直接は出来ないっぽいので、格闘の結果以下のように解決しました。 #!/bin/sh ARGS=("$@") echo "最後以外: ${ARGS[@]:0:((${#ARGS[@]}-1))}" echo "最後のみ: ${ARGS[((${#ARGS[@]}-1))]}" echo "最後のみ: ${ARGS[-1]}" # bash-4.2 以降なら負のインデックスが使える! 以下が上記スクリプトの実行結果です。 $ ./test.sh a b c d 最後以外: a b c 最後のみ: d やっていることは、まず引数をARGVという配列変数に詰めなおして、その後配列変数に対するスラ

    bashの配列変数に関するTips - y-kawazの日記
  • http://thagita.blogspot.com/2010/07/bash4x.html

  • sh:whileでCSVファイルを読むときには

    シェルを使ってファイルから1行ずつよみこみ、カンマで区切って処理をしたーい。 なんて時に、 while read LINE do // ここでsplitをつかってごにょごにょと・・・・ done < input.txt ってな感じで、1行を切り分けていた。 ここでごにょごにょと書いたのも、いつもこの部分を忘れてしまい、 あー昔書いたやつをさがして・・・ と見つからず、いろいろと探していたら、もっといいやり方を知った。 まあ、たまにブラウズもいいものだと・・・ では、 while IFS=, read f1 f2 f3 do echo "$f1は1つ目のフィールド" echo "$f2は2つ目のフィールド" done < input.txt というように、カンマで分割した形で変数にセットしてくれるので、楽だ・・・・ ちなみに、IFSとはInternal field separator

  • 第6回 PDツールでシステムの内部情報に迫れ【後編】

    一方、swaptestプログラムを実行することでfree領域は約135Mバイト減少している。これはほぼ計算どおりである*。 さらに再度swaptestプログラムを実行すると、free領域は約90Mバイト減少し、同時に約35Mバイトのスワップアウト*が発生する。こちらもおおむね計算どおりである。free領域が約3Mバイトほど残っているのは、カーネルは自身の実行用に最低限のメモリを確保しておくポリシーを持っているからだ。 さて、2回目のswaptestプログラム実行後、vmstatの出力には次のような変化が見られる。まず、メモリを確保するためにスワップが頻繁に発生し、それに伴ってブロックI/Oも多発していることが分かる。 また、b、in、cs、waの増加にも注目してほしい。CPUがI/O待ち状態になっている時間を表すwaの値が増加しているにもかかわらず、CPUが実際に働いている時間を表すusと

    第6回 PDツールでシステムの内部情報に迫れ【後編】
  • 祝!「GNU GLOBAL ハンドブック」出版 - わからん

    ソースコードタグシステム GLOBAL の、作者自身による解説「GNU GLOBAL ハンドブック」を読んだので紹介します。章立ては次の通りです。長かったので少し「(省略)」と書いてはしょりました。 目次 第1部 導入編 第1章 インストール 1.1 インストールの最も簡単な説明 1.2 インストールの準備 1.3 ソースアーカイブからのインストール 1.4 CVS リポジトリからのインストール 1.5 ソースアーカイブの署名を確認する 第2章 さぁはじめよう 2.1 GLOBAL ひとめぐりのための最初の題材 2.2 タグファイルを作る 2.3 シンボルの定義場所を調べる 2.4 シンボルの参照場所を調べる(-rオプション) 2.5 定義でも参照でもないシンボルを探す(-sオプション) 2.6 ディレクトリを移動する 2.7 正規表現を使う 2.8 egrep 相当の機能を使う(-gコ

  • ネットワーク I/O 限界の指標としてコンテキストスイッチ回数も使えるという話 - mura日記 (halfrack)

    Firebox X700X750e に FreeBSD を突っ込んで遊んでいたら、コンテキストスイッチで頭打ちになって面白かったのでメモ。 事の発端 B フレッツエクスプレスタイプなる、 GbE が家までやってくるという諸外国から見たら狂ってる感じの高速回線を自宅に引いた。それによりボトルネックとなった古い PC ルータを、手元にあった Firebox X700X750e でリプレースした。 出来上がったら当然ベンチマークしたくなったので、奈良とか調布とか堂島にある FreeBSD のミラーから、一斉に ISO image を fetch(1) で /dev/null に書き込むという、夜中じゃなかったら睨まれそうな方法にてベンチマークをして遊んでいた。 遊んでいる最中になにやら msk0 が発狂してしまったらしく、ベンチマーク中に突然 PPPoE がリンクダウンするという現象が発生、安定

    ネットワーク I/O 限界の指標としてコンテキストスイッチ回数も使えるという話 - mura日記 (halfrack)
  • Linuxで3万(10万)プロセスを同時に起動させてみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といっても、きちんとした検証をしたわけではないので、あくまで「こういう環境でこういう事をやるとこうなる」という参考程度のものと理解してい頂ければ幸いです。 Linux上でプロセスは同時に何個起動できるのか 数年前にC10K問題が流行りました。これは、簡単に言うと、万のオーダーでプロセスを立ち上げる事になると、現状のOSではそれを想定した設計になっていないためまともに動かなくなる、といった問題でした。 だったら、「10万プロセス位を同時に立ち上げてみて、どうなるか試してみようぜ!」と思い、会社のエンジニアと一緒に試してみました。検証環境は、メモリ48GでCPUはHyperThreading込で24コアです。そこで動いていたOSはDebianでL

    Linuxで3万(10万)プロセスを同時に起動させてみた
  • Tomcatの最大使用可能スレッド数の見積 - 銀の鍵 (The Silver Key)

    我等が働き者、Tomcat。君は一体、どの程度まで多くのスレッドを作成してリクエストをさばく事が出来るんだい? まず最初にLinuxのスレッドライブラリについて軽く言及しておかねばなるまい。Linuxのスレッドライブラリには二種類ある。 まず、昨今のLinux(Kernel 2.6及びそれ以降)で用いられているNTPL(Native POSIX Thread Library)。これは1:1モデルのスレッドライブラリで、スレッドをプロセスとして実装してある。SolarisなどではいわゆるLWP(Light Weight Process)をしてスレッドを実装してあるのだけれども、Linuxではスレッドもプロセスも同じtask_struct構造体として扱い、COE(Context Of Execution、実行コンテキスト)をそれぞれ用に割り当てて用いているようだ。各プロセスは独立した仮想メモリ

  • Red Hat Enterprise Linux Technology Capabilities and Limits - Red Hat Customer Portal

    What can Red Hat® Enterprise Linux® do? Find out in this chart of the supported and theoretical limits of the platform. This article provides information for releases of the operating system that are currently maintained. For information on older, retired releases that are no longer maintained, please consult the companion knowledgebase article entitled Red Hat Enterprise Linux Technology Capabili

    Red Hat Enterprise Linux Technology Capabilities and Limits - Red Hat Customer Portal
  • vmstatの見方と考え方: ぴろにっき

    なにもここで説明しなくてもvmstatの説明なんてそこらじゅうにある訳ですが、同じコマンドでもカーネルのバージョンとかディストリビューションとかで結構違ってくるので、ここではCentOS5.2でのvmstatについて記載しておくことに。 vmstatを実行すると… [root@chihiro ~]# vmstat 5 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 136 10836 3744 1940256 0 0 174 2050 128 96 1 6 74 19 0 0 0 136 10456 3720 1940424 0 0 0 6731 606

    vmstatの見方と考え方: ぴろにっき