タグ

Linuxに関するbundai223のブックマーク (21)

  • デーモンの起動・終了にはserviceコマンドを利用しよう

    斎藤です。こんにちは。 今日は、デーモンの起動・終了に際してはserviceコマンドを使った方がいいよ、というお話です。 ※CentOS 6.4 (x86_64) でテストしています。尚、特記がある所を除きます。 デーモンの起動・終了には大きく2手 Linux、特にRedHat, CentOS, Fedora, Ubuntu[1]などでは、デーモンの起動・終了の制御の際に、大きく分けて次の2つの方法を用いる事ができます。 "/etc/init.d/"配下のスクリプト(以下、スクリプト)を直接実行する "service"コマンドを実行する 一見、同じ事をやっているように思えるのですが、実は違う部分があります。それは、起動スクリプトが扱う環境変数が違うのです。次の節で、検証してみます。 扱う環境変数が違う スクリプトを直接実行する場合は、実行時の際の環境変数をそのまま利用します。一方、serv

  • カーネル空間までコード追っていこう@Linux

    こんにちは。@kokukumaです。 これは、KLab Advent Calendar6日目の記事です。6番手も緊張しますね(棒読み)。 今日はLinuxでプログラムの挙動を追って行く時に、便利なコマンド達を紹介したいと思います。 コードを追っていく流れに合わせて、6つのパートに分けて紹介していきます。 ユーザ 計測する(ユーザ) コードを読む(ユーザ) 挙動を把握する(ユーザ) カーネル 計測する(カーネル) コードを読む(カーネル) 挙動を把握する(カーネル) 環境はdebian前提で話しています、あしからず。 ユーザ空間で計測する コードを追おうと思う人の目的は、「そのコードを速くしたい」がほとんどでしょう。 そんなとき、いきなりコード読んでも心が折れるだけなので、この辺のツールを使ってどこが遅いのか調べます。 time 誰でも知ってるtimeコマンド。とりあえず時間測って比較すると

    カーネル空間までコード追っていこう@Linux
    bundai223
    bundai223 2015/12/07
    profiling
  • biopapyrus | 風ふけば蓮の浮き葉に玉こえて 涼しくなりぬ日ぐらしの声

    R / statistical and graphical techniques, statistical tests, GLM

    bundai223
    bundai223 2015/11/02
    “後方参照 sed は後方参照が行える。後方参照したい部分を \( と \) で囲み、参照は \1 や \2 などのように行う。(\ はフォントの種類によって、バックスラッシュに見えたり、円マークに見えたりする。)”
  • awkでの数値演算注意

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog オークション事業部 プラットフォーム技術 後藤です。 私たちのチームはauctionリスト、サーチ、課金などのサービスの運用業務を 行っておりますが、今回は課金の検算などでよく利用するawkでの数値演算につ いてレポートします。 消費税算出など小数点付きのものを四則演算する場合、awk(表示形式のデフォル ト書式)を用いて生成する場合、以下ような現象が出ますので注意が必要です。 「7けた以上で科学表記になる場合がある」 「小数点を含めたけた数が7けた以上になると、誤差が出る場合がある」 などです。 以下の理屈が分かっていれば、なにも不思議はないのですが、結構誤差が出るパ ターンも多いので、利用者の意識が必要なのだなーと思っています

    awkでの数値演算注意
    bundai223
    bundai223 2015/10/16
    float
  • YubikeyでLinuxにログインできるようにした(HOWTO付き) - Lambdaカクテル

    先日Yubikeyを入手したのでしばらく弄ったりネットを徘徊してみたところ、Yubikey用のPAMが存在していることがわかった。PAMがあるということはLinux/UNIXのログインでYubikeyを利用することができるということだ。オープンな感じでとてもよい。 そういうわけで色々と弄ってみたらLinuxにYubikeyでログインできるようになった。とても素晴らしい。セキュアだ。さらに二段階認証にしたらもっとセキュアだと思うけれど、PAMの弄り方はあまり詳しくないのでこれから勉強したい。とりあえず今は単一要素認証になっている。 ネットでは日語でのYubikeyの資料が少ないので、PAMを設定するまでの一通りの流れを書いた。自分も結構悩んだので記録しておく。ガンガンPRください!!!!! technical-docs/yubikey-pam-auth.md at master · win

    YubikeyでLinuxにログインできるようにした(HOWTO付き) - Lambdaカクテル
  • Note - ソケットバッファのチューニング

    Overview ADSLや光回線などの充実によって,ここ数年でネットワークの回線速度もかなり進歩してきました.ですが,Linuxの バージョンによっては,一昔のネットワーク速度を基準としてパラメータの設定を行っているためにネットワーク帯域を フル活用できていない場合もあります(特に,1Gbpsを超えるような場合はその可能性が高い).そこで,今回はボトルネック の一つとなりやすいバッファサイズのチューニング方法について記述します. sysctl変数の設定 Linuxにおいてシステム全体のバッファサイズを変更する場合には,sysctlコマンドを使用します.設定する項目は, 下記の9種類です( Manpage of TCP参照). net.ipv4.tcp_window_scaling RFC 1323のTCPウィンドウスケーリングを有効にします.この機能を用いると,(接続先が対応していれば)

  • ifstatって便利そうなの見つけたのでついでに*statを紹介 - As a Futurist...

    今更感もありますがすごい便利そうなツール発見。ネットワークインターフェイスのトラフィックを簡単にモニタリングできるツール。 ifstat CentOS とかだったら rpmforge にあるみたいなので、こんな感じで。(レポジトリ設定してなければ適当に) yum install --disablerepo=* --enablerepo=rpmforge ifstat チーミングしてる環境で出してみるとこんな感じ。-iで並び順も指定できたり、-bで Kbps にできる。vmstatと違って-tで timestamp も出せるのでこれ単体で便利に使えそうですね。ちなみに Linux の場合/proc/net/devを使ってるそうです。 *stat 系のツール 便利ですよね。パッとサーバに入って今起きている問題を分析するのにこれらのツールを使うのは有用です。top しか見ない人は覚えておくといい

    ifstatって便利そうなの見つけたのでついでに*statを紹介 - As a Futurist...
  • sarによるボトルネック発見の手順(というかsysstatの使用法)をまとめてみた - end0tknr's kipple - web写経開発

    sar で収集したリソース使用情報が sadf コマンドで TSV として出力 (2014/8/6追記) sar で収集したリソース使用情報が sadf コマンドで TSV として出力できる - 宮川拓の日記 ↑全く知りませんでした 私がよく利用するoption (2013/8/6追記. よく忘れるので) $ sar -r -s 00:00:00 -e 01:00:00 -f /var/log/sa/sa03 オプション 内容 例 -q load average $ sar -q -u cpu使用率 $ sar -u -b I/O回数とデータ量 $ sar -b -r メモリとスワップ使用率 $ sar -r -s 開始時間 $ sar -s 00:00:00 -e 終了時間 $ sar -e 03:00:00 -f 日付 ※ $ sar -f /var/log/sa/sa03 ※「

    sarによるボトルネック発見の手順(というかsysstatの使用法)をまとめてみた - end0tknr's kipple - web写経開発
  • 賢いdtraceの使い方

    皆さんはdtraceをご存じでしょうか?このようなシビレル機能はオトコとしては見逃せません。今回は皆さんにdtraceを紹介しようと思います。 DTraceとは? Solaris 10に搭載された機能で、名称はDynamic Tracingから来ています。Sunのマニュアルを見ると「動的トレース」と書いてあります。ようはシステムを動かしたままトレースする(システム今どこを実行しているのか、変数がどんな値になっているかなどを調査する)ツールのことです。使いようによっては強力なデバッガーになります。また、プログラムが動作した痕跡(どの関数を何回呼び出したか?など)を集計できることから、性能分析にももってこいです。デバッグやパフォーマンスチューニングでお悩みの皆さんは、是非使ってみてください。 これまで、DTraceのような機能を提供するプログラムはありませんでした。似たようなものがあったとして

    賢いdtraceの使い方
  • ローカルポートを食いつぶしていた話 - download_takeshi’s diary

    ここのところ、お仕事で管理しているシステムで、夜中に負荷が急上昇する事象が発生しており、夜な夜な対応に追われていました。 (このブログ書いている今も、負荷がじわじわ上昇中なんですが・・・) で、いろいろと調査した結果、ようやく糸口がわかってきました。 結論から言うと、ローカルポートなどのネットワーク資源をいつぶしていたようです。 以下、調べていってわかったことなどのメモです。 トラブルの事象 運用しているのは Apache2.2 + mod_perl2 なwebサーバで、リスティング広告システムの配信系です。 リスティング広告の配信のシステムって一般的にロジックが複雑でいやーな感じなんですが、このシステムもご他聞に漏れずかなりのひねくれ者で、しかもトラヒックは結構多めです。システム全体で、日に1000万〜2000万クエリくらいかな。幸か不幸か、このご時勢においてもトラヒック的には成長し続

    ローカルポートを食いつぶしていた話 - download_takeshi’s diary
  • http://linux.mini13i.com/?kernel%2F%A5%B7%A5%B9%A5%C6%A5%E0%A5%D1%A5%E9%A5%E1%A5%BF

  • Linuxサーバのディスク容量減少アラートが飛んできた!ってときにどう対処するか - たごもりすメモ

    完全に このエントリ のネタパクりです。すいません。 何に使われてるかわかったもんじゃないマシンとか開発用サーバとかだと超巨大なバイナリとか置いてあるかもしれませんが、プロダクション用のサーバでそういうことは無いとしましょう。 その場合、原因はだいたい以下のどれかです。www/appとdbが別マシンに分かれてる場合は更に絞り込めますね。 wwwサーバやappサーバ ログ 圧縮してあるが保存世代数が多くて厳しいケース 圧縮し忘れてるケース 圧縮どころかローテーションすら忘れてて1ファイルどかんと存在するケース ローテーションがうまくいかなくて deleted ファイルなケース tmpデータなど(app) キャッシュサーバのディスクキャッシュ dbサーバ データ実体 (ib_data) バイナリログ ログの場合でも、ディスク上のどこにログが書かれてるかは色々なパターンがある可能性がありますね。

    Linuxサーバのディスク容量減少アラートが飛んできた!ってときにどう対処するか - たごもりすメモ
  • GNU grepの出力をバッファしない (--line-buffered) - うまいぼうぶろぐ

    忘れたころにたまに戸惑う。ログをgrepしたものをパイプに通してさらにgrepすると、grepがバッファしてしまうのでリアルタイムに出力されなくなる。そんなときは--line-buffered をつけると良い。 --line-buffered 行ごとに出力を掃き出す$ tail -f /var/log/httpd/access_log | grep --line-buffered "POST" | grep --line-buffered 'HTTP/1\.." 503'※ この例ならgrep二回通さなくても正規表現をちゃんと書けばいいだけだけど。良い例が思いつかなかった。

    GNU grepの出力をバッファしない (--line-buffered) - うまいぼうぶろぐ
  • 定期的にコマンドを実行しその出力の変化を監視する - 技術メモ帳

    以前に、watch コマンドという 指定されたコマンドを定期的に実行し、 フルスクリーンで表示してくれるコマンドがあるという事を書いた。 http://d.hatena.ne.jp/lurker/20060716/1153056030 実は、--differences とオプションを付加する事によって、 直前の出力結果との差分をハイライト表示してくれるらしい。 知らなかった。コレは便利だ。 正直 grep -o を知ったときぐらい感動した。 以下のように入力してみるとどうなるのかが わかっていただけると思う。 ちなみにこれは、1秒おきに、dateコマンドを実行するというもの。 $ watch -n 1 --differences date さらに、--differences=cumulative と付加すると 起動してからのすべての変更部分がハイライトされるようだ。 $ watch -n

  • Linux におけるスレッド数の上限 | yunabe.jp

    並行 (Concurrent) 処理を実装する方法としてスレッドは非常に強力なツールです。 スレッドを使えば同時に1つの処理しか行えない既存のプログラムに大きな修正を加えることなく、 並行処理を実装することが可能です。 またイベントとコールバックを複雑に組み合わせた非同期的なプログラムに比べて、 同期的なプログラム (例えばファイルの読み込みにコールバックが出てきたりしない普通のプログラム)は プログラムの流れを自然に書くことができ、 可読性・保守性・テスト、デバッグのしやすさの面で遥かに優れています。 スレッドを使うとプログラムをそれほど複雑・難読化にせずに並行処理が実装できます。 一方でスレッドを使った並行処理には欠点もあります。 欠点の1つは、スレッドモデルでは1つの処理に対して1つのスレッドを用意するので、 システムのスレッド数の上限で同時に行える処理の数が決まってしまう点です。

  • いますぐ実践! Linuxシステム管理

    「いますぐ実践! Linux システム管理」はこちらです。 メルマガの解除、バックナンバーなども、以下からどうぞ。 https://www.usupi.org/sysad/ (まぐまぐ ID:149633) その他、作者に関するページは、概ね以下にございます。 https://www.usupi.org/kuri/ (まぐまぐ ID:126454) http://usupi.seesaa.net/ (栗日記ブログ) https://twitter.com/kuriking/ (twitter) https://facebook.com/kuriking3 (facebook) https://jp.pinterest.com/kuriking/pinterest) https://www.instagram.com/kuri_king_/ (instagram) [バックナンバーのトップへ

  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • diff & patch コマンドでのパッチを適用する方法 - hogehoge foobar Blog Style Beta

    diffとpatchコマンドを使うとファイルの変更を別のファイルに簡単に適用することができます。 例えば、サイトでWEBサーバーを複数台で運用していて1台のWEBサーバーに行った設定ファイルの変更を他のサーバーに適用するときなどに使えます。 基的な作業の流れ ファイルへのパッチ適用を行う際はこんな感じです。 diffコマンドでパッチファイルを作成 作成したパッチファイルを元に、patchコマンドでパッチを適用 パッチファイルの作成 パッチファイルの作成にはdiffコマンドを使用します。コマンドの書式は以下のような形になります。 $ diff -u(または -c) 変更前のファイル 変更後のファイル > パッチファイル名オプションの「-u」はパッチファイルを、unified diff形式で出力するという指定です。 「-c」の場合はcontext diff形式での出力になります。 「-u(ま

    diff & patch コマンドでのパッチを適用する方法 - hogehoge foobar Blog Style Beta
  • 宁波逼拘旅行社

    宁波逼拘旅行社
    bundai223
    bundai223 2015/03/04
    勉強になります!
  • process-book

    この文書はなんですか? この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。 書いているあいだは gist で管理されていたのですが、ボリュームが大きくなったので github で管理するように変えました。 目次 導入 プロセスの生成 プロセスとファイル入出力 ファイルディスクリプタ preforkサーバーを作ってみよう ゾンビプロセスと孤児プロセス シグナルとkill プロセスグループとフォアグランドプロセス epub と pdf epub化したもの、pdf化したものが release ディレクトリに入っています。thanks to mitukiii & moznion! ライセンス この 作品 は クリエイティブ・コモンズ 表示 - 継承 3.0 非移