タグ

linuxに関するsotarokのブックマーク (76)

  • Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ

    Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux

    Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ
  • 訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo

    これはちゃんとチェックしておかないとなぁ。 Deprecated Linux networking commands and their replacements « Doug Vitale Tech Blog ==== この記事で詳しく説明する非推奨のLinuxネットワークコマンドは:arp, ifconfig, iptunnel, iwconfig, nameif, netstat, route である。iwconfig以外の コマンドは、net-toolsパッケージという、数年間メンテナンスされていないパッケージに含まれている。これらのユーティリティによって提供される機能は、新しいipコマンドを主に使うiproute2 スイートで再提供され、改善され続けている。iproute2ソフトウェアのコードとドキュメントは、Kernel.orgとLinux Foundationで見ることができ

    訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo
    sotarok
    sotarok 2014/06/11
    まじか
  • Linux のオーバーコミットについて調べてみた

    Linux のオーバーコミットについて調べてみた Linux のオーバーコミットのはなし(これを書いたのは Linux 2.6.38 のとき) Linux カーネルは実メモリ以上にメモリをプロセスに割り当てることができる この仕組みをオーバーコミット (over-commit) と呼ぶ オーバーコミットでは,とりあえずメモリを malloc させて仮のアドレスを返しておき, 実際に使われる段になってはじめて実メモリを確保する. 実験ただ malloc し続けるだけのプログラムを作って実験してみる. このプログラムをメモリ 1 GB + スワップ 1 GB のホストで実行してみると, $ free -t total used free shared buffers cached Mem: 1022404 82992 939412 0 4172 12280 -/+ buffers/cache:

    Linux のオーバーコミットについて調べてみた
  • 2012 年 7 月 1 日のうるう秒挿入時に発生した Linux カーネルの不具合に関する情報

    更新履歴 2012-08-28: URL 公開 2012-08-29: futex、hrtimer、MySQL の発生条件、NTP SLEW モードに関する @odhrfm さんからの情報、キーワード更新、その他いろいろ細かい修正 2012-08-30: 参考リンク追加 2012-09-01: LKML まとめシートの thread#50 を追加 2012-09-03: SLES カーネルの更新情報、per-cpu についての記述、blockdiag によるブロック図を追加 2012-09-11: LKML まとめシートの thread#52, #53 を追加 2012-09-12: LKML まとめシートの thread#54 〜 #58 を追加 はじめに 日時間 2012 年 7 月 1 日 9:00 にうるう秒が挿入されましたが、その際 Linux カーネルに起因する不具合により、

  • [3]Linuxカーネルの“巨大なロック”が原因と判明

    大規模サイトの性能改善作業とは、どういうものなのか――。リクルートの中古車情報サイト「カーセンサーnet」を全面リニューアルした体験を基に、その実態をレポートする。第1回、第2回はミドルウエアのチューニングを行った。後半はLinuxカーネルに原因があると判明するまでの調査に進む。様々なツールを組み合わせて追跡していった。 中古車情報サイト「カーセンサーnet」の性能試験が格的に始まって10日目。試験の開始当初は、ブラウザーの表示に10秒もかかるなど目標性能に遠く及ばなかった。しかし前回までで紹介したように、ファイル共有システム「NFS」の設定変更、Webサーバー「Apache」のパラメーター修正、PHPアプリケーションの見直しによって、性能は劇的に向上した。 リクルート入社3年目の私は、今回の性能検証プロジェクトのリーダーとして、得意分野を持つチームメンバーと一緒に対策を進めていた。カッ

    [3]Linuxカーネルの“巨大なロック”が原因と判明
  • mount: unknown filesystem type ‘LVM2_member’ – pissedoffadmins

    sotarok
    sotarok 2011/12/24
    vgchange とってもやくにたった
  • アメコロガシ:  初めてinitスクリプトを書いてみました。

    2008年09月(12) 2008年08月(15) 2008年07月(15) 2008年06月(17) 2008年05月(17) 2008年04月(14) 2008年03月(6) 2008年02月(6) 2008年01月(22) 2007年12月(17) 2007年11月(6) 2007年10月(18) 2007年09月(19) 2007年08月(22) 2007年07月(12) 2007年06月(12) 2007年05月(14) 2007年04月(17) 2007年03月(22) 2007年02月(10) じょじょに暖かさが増してきたこの頃。自宅にGLAN TANKが来て、mediatombを導入して数ヶ月が経ちます。GLAN TANKは完全にLAN内DLNAサーバとして落ち着きました。  HDDの寿命延長と夏場をしのぐために今後は利用時以外は電源

    sotarok
    sotarok 2011/10/10
    init script init.d
  • Debianでperfを使う - かみぽわーる

    チューニンガソンの優勝者がperfというコマンドを使ってCPU時間のプロファイリングをしていたらしい。そんなコマンドはじめて知った…。 yumだと以下のように直感的なパッケージで入るそうですが yum install perfDebian Squeezeでperfコマンドはlinux-baseパッケージに含まれててデフォルトで入ってるんですが実行すると % sudo perf top /usr/bin/perf: line 7: exec: perf_2.6.32: not found E: linux-tools-2.6.32 is not installed.といわれるのでlinux-tools-2.6.32を入れると使えるようになります。 % sudo aptitude install linux-tools-2.6.32あとUbuntu 10.10でも試してみたら、こっちではper

    Debianでperfを使う - かみぽわーる
  • プロセスの状態を表す `S' とか `R' とか `D' についてメモ - @kyanny's blog

    `D' ってなんだっけ、と思って少し調べた。 ps(1) http://unixhelp.ed.ac.uk/CGI/man-cgi?ps PROCESS STATE CODES Here are the different values that the s, stat and state output specifiers (header "STAT" or "S") will display to describe the state of a process. D Uninterruptible sleep (usually IO) R Running or runnable (on run queue) S Interruptible sleep (waiting for an event to complete) T Stopped, either by a job contro

    プロセスの状態を表す `S' とか `R' とか `D' についてメモ - @kyanny's blog
    sotarok
    sotarok 2011/08/19
    ps
  • lsofの使い方 - プロセスが使用中のファイルを調べる - うまいぼうぶろぐ

    odz buffer - プロセスが開いているファイルを確認する ls -l /proc/`pgrep -n java`/fd lsofでも調べられます。 lsof - list open files lsof うにょうにょと結果が出てきます。が、多すぎて訳わからん。 -pオプションでプロセスID指定 ### プロセスID指定 lsof -p 12345 ### バッククォート使うとこんな感じ lsof -p `pgrep -n java` -cオプションでプロセス名指定 lsof -c java -uオプションでユーザ指定 lsof -u hoge -iオプション [@IPアドレス:ポート番号] listenしてるポートを出力。指定したポートのみ表示することもできる。 lsof -i # Listenしてるのずらずら表示 lsof -i :22 # ssh lsof -i :22,80

    lsofの使い方 - プロセスが使用中のファイルを調べる - うまいぼうぶろぐ
    sotarok
    sotarok 2011/08/17
    lsof
  • The Linux Kernel: プロセス間通信の仕組み

    次のページ 前のページ 目次へ 6. プロセス間通信の仕組み プロセスは、他のプロセスやカーネルと相互に通信することで、自らの作業の調整 を図っている。Linux では、いくつかのプロセス間通信(Inter-Process Communication, IPC)のメカニズムがサポートされている。シグナルとパイプは その典型であるが、Linux は System V IPC メカニズムもサポートしている。System V IPC という名称は、Unix の当該リリースで初めて登場したことからその名が付けられ ている。 6.1 シグナル シグナルは、Unix システムで使用される最も古いプロセス間通信の方法である。 シグナルは、ひとつ以上のプロセスに対して非同期イベント(asynchronous events)を 伝達するために使用される。シグナルが生成されるのは、キーボード割り込みがあっ た

    sotarok
    sotarok 2011/02/14
    ipc msq sem sem shm
  • Linux Certif - Man getitimer(2)

    sotarok
    sotarok 2010/11/04
    ITIMER_REAL SIGALRM ITIMER_VIRTUAL ITIMER_PROF
  • Linux でシステムの起動時に 1 度だけ処理を実行する。 - D.

    システムの起動時に一度だけ実行する処理は、普通は /etc/rc.local に書くわけだが 、1 ファイルにすべてを書いてしまうと管理が煩雑になったりする。まとまった処理ごとにファイルを分けておいたほうが管理が楽だ。 そこで /etc/rc.local の内容を以下の通りにする。 #!/bin/sh if [ -d /etc/rc.local.d ]; then for i in /etc/rc.local.d/*; do if [ -r $i ]; then . $i fi done unset i fi exit 0 /etc/rc.local.d というディレクトリを用意する。ここにシェルスクリプトの書かれたテキストファイルを入れておくと上のスクリプトによってすべて実行されることになる。ファイル名は何でも良い。 イー・モバイル端末が体に接続されていれば接続する例 (ネットブック等

    Linux でシステムの起動時に 1 度だけ処理を実行する。 - D.
  • atime関連マウントオプション使用時のディスク性能比較 - 科学と非科学の迷宮

    要約 ITPro 掲載のチューニング記事に書かれていた、 「mount オプションに noatime オプションを付加すると読み込み速度が倍になる」 という情報について検証を行いましたが、検証方法や考察に誤りがありました。 調査の結果 Fedora8, Fedora9, Ubuntu8.04 LTS ではデフォルトで relatime オプションがついていることがわかりました。 検証方法を read() システムコールの実行時間測定という方法に変更し、あらためてデフォルト、noatime, relatime マウントオプション付加時の性能検証を行ったところ、私の環境(Core 2 Duo(2.2GHz),メモリ2GB,Fedora8)では noatime, relatime マウントオプションを付加することで、デフォルト時の実行時間の半分で read() システムコールを実行することができ

    atime関連マウントオプション使用時のディスク性能比較 - 科学と非科学の迷宮
    sotarok
    sotarok 2010/07/02
    noatime
  • naoyaのはてなダイアリー - Linuxのページキャッシュ

    世間では PHP が、Perl が、と盛り上がっているようですが空気を読まずまたカーネルの話です。今回はページキャッシュについて。 /dev/shm に参照系DBを持っていくと I/O 負荷が激減した件(当たり前だけど) - drk7jp で、ディスク上にあったファイルを /dev/shm (tmpfs) に移したら I/O 待ちがなくなって負荷がさがった、ということなんですがおそらくこれは tmpfs に置く必要はないかなと思います。Linux (に限らず他の OS もそうですが) にはディスクの内容を一度読んだらそれはカーネルがキャッシュして、二度目以降はメモリから読む機構 = ページキャッシュがあります。tmpfs にデータを載せることができた、ということは物理メモリの容量に収まるだけのデータサイズかと思うので、放っておけば該当のファイルの内容すべてがメモリ上にキャッシュされて io

    naoyaのはてなダイアリー - Linuxのページキャッシュ
  • linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場

    Perl等のLLでウェブアプリケーションサーバを書いていると、普通はマルチプロセスモデル (apache なら prefork とか) で運用することになると思う。で、それらがどれだけメモリを使っているか、っていうのはチューニングにおいて重要になってきたりする (んじゃないかと思う) けど、そもそもメモリの総使用量をどうやって測定するのか。 20:20追記: PSSを使ってワンライナーで測定するのが簡単 (コメント欄参照)。kosakiさんありがとうございます。 $ sudo perl -le 'for my $p (@ARGV) { open my $fh, "< /proc/$p/smaps" or die $!; map { /^Pss:\s*(\d+)/i and $s += $1 } <$fh> } print $s' `pgrep plackup` 914325以下は初回投稿時

    linuxで httpd が使ってるメモリ総量を調べる話 - kazuhoのメモ置き場
  • tailコマンドの使い方: UNIX/Linuxの部屋

    UNIX/Linux の tail コマンドは、ファイルの末尾 N行を表示したり、ログファイルを監視してログに追記されたものをリアルタイム表示できるコマンドである。

    tailコマンドの使い方: UNIX/Linuxの部屋
  • ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改

    ディレクトリの中にある大量のファイルを高速に読み込む方法が知りたかったので、実験してみた。想定しているシチュエーションは、一つ一つのファイルは数KB程度だが数が多い、という場合である。適当な順番でアクセスすると、ランダムアクセスになってしまいとても時間がかかる。個々のファイルを読み込む順番はどうでも良く、すべてのファイルを処理することさえできればいいので、原理的にはシーケンシャルアクセスで処理できてしかるべきである。 まず、ファイルシステムについて。HDDやSSDなどのハードウェアにアクセスする際には、ファイル名などという概念はもちろん存在しない。ファイル名と実際のディスク上の対応を管理するのがファイルシステムの主な役割である。ファイルシステムは、ファイル名からそのファイルに対応するブロック番号(メモリアドレスみたいなもんだな)を調べて、そのブロック番号を指定してHDDやSSDにアクセスす

    ディレクトリの中にある大量の小さなファイルを高速に読み込む方法 - 射撃しつつ前転 改
    sotarok
    sotarok 2009/10/01
    inode順にソート
  • Daichi GOTO's Page on ONGS.Net

    後藤大地(daichi@ongs.net) 作成年月日 Sat Dec 25 21:18:25 2004 更新年月日 Thu Mar 24 12:24:01 2005 全国のFreeBSDファンのみなさま、大変ながらくお待たせしました。久しぶりに格的なFreeBSDインストールです。FreeBSDビギナーズバイブルが2年の歳月を経てかえってきました。構成を見直し、全編を新しく書き下ろし、大幅にパワーアップした改定第二版です。 http://www.ongs.co.jp/ 書籍例その1 書籍例その2 毎日コミュニケーションズ社の書籍紹介ページ 毎日コミュニケーションズ社の書籍紹介ページ 立ち読みコーナー ここでいくつかの章は立ち読みできますっ cbook24.comでこのを購入する amazon.co.jpでこのを購入する FreeBSDビギナーズバイブルに寄せられた意見や、Free

    sotarok
    sotarok 2009/09/29
    watch 風スクリプト topless
  • lsyncdをつかって簡単にファイル同期を - UNIX的なアレ

    lsyncdというツールをご存じでしょうか?これを導入することで、リモートのホストとディレクトリ単位で同期をすることができます。 先日のエントリーでも紹介していますが、実は設定や導入がすごく簡単です。した設定でリモート間でファイルの同期をとれるのはやはり便利ですよね。 さて、今回はlsyncdの簡単な導入方法を紹介したいと思います。 lsyncdの仕組み lsyncdはlinux kernel2.6.13で導入された、inotifyというAPIをつかって動作しています。 inotifyはファイルシステムのイベントを取得することができるAPIで、ファイルの作成や削除などをそれぞれイベントとして取得をすることができます。 この仕組みと、rsyncを組み合わせてファイルの同期を行うことを実現しています。 lsyncdのインストール まず、以下のページからsourceをダウンロードしてください。

    lsyncdをつかって簡単にファイル同期を - UNIX的なアレ
    sotarok
    sotarok 2009/09/25
    inotify