タグ

linuxに関するytkibkのブックマーク (44)

  • funcgraph で Linux カーネル内のボトルネックをミクロに追跡する - ablog

    perf + Flame Graphs で Linux カーネル内のボトルネックを特定する - ablog で Linux カーネル内のボトルネックをマクロに分析する方法を紹介しましたが*1、 strace でI/Oシステムコールのレスポンスを調べると遅く*2、 iostat の await でカーネルのブロックレイヤーのI/Oレスポンスを調べると速い場合、 システムコールインターフェースとカーネルのブロックレイヤーの中間(ファイルシステムレイヤーなど)で詰まっていると考えられます*3。 このようなケースで、1回のシステムコール発行の所要時間の内訳*4をミクロに追跡するには Brendan Gregg の funcgraph が便利です*5。 実行結果 # ./funcgraph -Htp 4511 vfs_write Tracing "vfs_write" for PID 4511...

    funcgraph で Linux カーネル内のボトルネックをミクロに追跡する - ablog
  • 8月版 波乱続きのReiser4、マージに向けて一歩前進?(2/2) - @IT

    8月版 波乱続きのReiser4、マージに向けて一歩前進? 上川純一 日ヒューレット・パッカード株式会社 コンサルティング・インテグレーション統括部 2006/8/29 ReiserFSの苦難 現時点でLinuxカーネルにマージされているReiserFSは、バージョン3です。ReiserFSにはその次期バージョンであるReiser4もありますが、「Reiser4と激怒するLinuxカーネル開発者たち」でお伝えしたとおり、メインラインカーネルへのマージには至っていません。しかし、少し進展があったようです。 まず、Reiser4が相変わらずメインラインのカーネルにマージされないことに業を煮やしたユーザーから、「いつマージされるのか?」という質問のメールが7月に何度かLKMLに投稿されました。Diego Callejaはそれに対応して、「WhyReiser4IsNotIn」(なぜReiser

    ytkibk
    ytkibk 2015/07/07
    request_firmware 近年、NICやSCSIカードなどのデバイスで、ファームウェアをデバイス側で保持せず、ドライバがファームウェアをロードしてからでないと動作しないデバイスが増えてきています。
  • サービス終了のお知らせ

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

  • Linux 4.1 Brings Many Potentially Risky x86/ASM Changes - Phoronix

    Show Your Support: Did you know that the hundreds of articles written on Phoronix each month are mostly authored by one individual? Phoronix.com doesn't have a whole news room with unlimited resources and relies upon people reading our content without blocking ads and alternatively by people subscribing to Phoronix Premium for our ad-free service with other extra features. Linux 4.1 Brings Many Po

    Linux 4.1 Brings Many Potentially Risky x86/ASM Changes - Phoronix
  • Linuxカーネル4.0リリース、ライブカーネルパッチを導入 | OSDN Magazine

    Linus Torvalds氏は4月12日、Linuxカーネルの最新版となる「Linuxカーネル4.0」をリリースした。メジャーバージョン番号は4に上がっているが、内容としては「かなり小規模なリリース」としている。これは安定性に主眼を置いたTorvalds氏の方針に沿ったものだという。 2月中旬に公開されたLinuxカーネル3.19に続くリリースとなる。Linuxカーネル3.19の公開後、Torvalds氏はGoogle+にて次期版の名称を「Linux 3.20」とするか、以前構想を明かした通りに「4.0」とするかについてオンライン投票の形で意見を募った。投票では少しの差(56%対44%)で「4.0」が上回っており、その後2月末に初のリリース候補版を「Linux 4.0」として公開した。今回のバージョン番号の変更については「数字が大きくなることを避けること」を目的としており、Torvald

    Linuxカーネル4.0リリース、ライブカーネルパッチを導入 | OSDN Magazine
  • Linux Kernelハッカーのためのディープな技術情報「linux-insides」が電子書籍化される | ソフトアンテナ

    Linux Kernelに関する深い知識を提供していることで評判の技術資料「linux-insides」が電子書籍の形式でもダウンロードできるようになりました。現在ここから、ePUB(iPadiPhoneMac用)、MOBI (Kindle用)、PDF形式でファイルをダウンロードすることができます。電子書籍版は、GitBookを使って生成されたもので、内容はGitHubで提供されているものと同じみたいですがタブレット等で閲覧する場合には便利そうです。 また上記ファイルだけではなく、オンラインブック形式でも読むことが出来、こちらも直接GitHubで読むよりは読みやすくなっています。 ちなみに、linux-internalsの内容は、先日「Kernel booting process」の解説が完了した後、今は「Kernel initialization」(ブート後のKernelの初期化処理

    Linux Kernelハッカーのためのディープな技術情報「linux-insides」が電子書籍化される | ソフトアンテナ
  • Understanding Linux CPU stats | Scout APM Blog

    Updated version of an article first published on February 24th, 2015. Your Linux server is running slow, so you follow standard procedure and run top. You see the CPU metrics: But what do all of those 2-letter abbreviations mean? The 3 CPU states Let's take a step back. There are 3 general states your CPU can be in: Idle, which means it has nothing to do. Running a user space program, like a comma

    Understanding Linux CPU stats | Scout APM Blog
  • わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ

    Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した「CC500」名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず「cc500_1」という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル「cc500_1」を使

    わずか500行のCソースコードで作られたCコンパイラ「CC500」 | ソフトアンテナ
  • MSの今回の発表で何が起こるのか、の私的感想 - 亀岡的プログラマ日記

    さて、まさかのMSの大鉈連発に、TL大騒ぎでございます。まさかOSS化まで入ってるとは僕も思ってなかった。MSクラスタですらもざわざわである。 んで、今回の決定が意味することをちょっと考察してみたいなーと。備忘録的にね。 あくまで 私的感想です。鵜呑みにしないように。 何が起こったのか 11/12日(米国現地時間),Microsoft Connect();というイベントの中での発表でございました。 詳しくは、Public Keyさんを参照するのが良いと思います。 [速報]マイクロソフト、サーバサイドの「.NET Core Rutime」と「.NET Framework」のオープンソース化を発表。C#コンパイラやASP.NETなど [速報]マイクロソフト、「.NET server framework」のLinuxMacOS X用オフィシャルディストリビューションを発表。.NETアプリケーシ

    MSの今回の発表で何が起こるのか、の私的感想 - 亀岡的プログラマ日記
  • slab肥大化とdentry_cacheに辿り着くまでの話 - Qiita

    内容(3行) memoryの使用量を監視している所からアラートが来て調査した アプリケーションのheap使用率は高くなく、top等を見ても他に怪しいプロセスが存在しない /proc/meminfoからslab領域の肥大を確認、slabtopでdentry_cacheが肥大化している事がわかったので、echo 2 > /proc/sys/vm/drop_caches を実施した 何があったのか 運用中のとあるサーバーのmemoryが残り20%を切ったとアラートが来たため、調査を行った。 当初は何かしらのプロセスがメモリリークしているか何かだろうとあたりをつけていた。 freeで現状確認 キャプチャとるの忘れた… が、一旦確かにfree(buffers, cahceを足したもの)がtotalの20%を切っていることを確認。 topで確認する アプリケーションプロセスにメモリを大量消費しているプ

    slab肥大化とdentry_cacheに辿り着くまでの話 - Qiita
    ytkibk
    ytkibk 2014/11/05
    dentry_cacheはなぜ増えたのか?それが通常運用で起こりうる想定内の動作ならアラートをあげる監視閾値が高いのではないか?疑問を残したまま次のホッテントリへ。
  • インフラエンジニアとしてよく使うコマンド集 - Qiita

    私がよく使うコマンド集となります。 参考に頂けたら幸いです。 随時更新するかと思います。 コマンドを打つ前に覚えておく事 ①サーバに負荷がかかるコマンドを打つ場合、下記をコマンドの先頭に付けましょう $ ionice -c 2 -n 7 nice -n 19 # -c 2:ディスクI/Oの実行優先度をベストエフォートで実行 # -n 7:さらにこのコマンドの優先度を低くする # -n 19:プロセスの実行優先度を一番低くする

    インフラエンジニアとしてよく使うコマンド集 - Qiita
  • LLユーザこそ「ふつうのLinuxプログラミング」を読んだらいいという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    4年くらいまえに一度通読して「ふーん」で終わってたんだけど、最近読み返したら「これはめっちゃ良いでは?」となったので紹介します。 ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道 作者: 青木峰郎出版社/メーカー: ソフトバンククリエイティブ発売日: 2005/07/27メディア: 単行購入: 35人 クリック: 450回この商品を含むブログ (146件) を見る 特に第二部、第三部がめっちゃよくて、Linuxの重要な概念を、押さえるべきところを押さえて説明してあって最高な感じでした。 サブタイトルにこそ「Linux の仕組みから学べる gcc プログラミングの王道」とありますが、むしろ普段から C 言語でシステムコールに近い部分を普通に書いているプログラマよりも、普段は PerlRuby などのスクリプト言語を使っているが、その言語で書か

    LLユーザこそ「ふつうのLinuxプログラミング」を読んだらいいという話 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • Linux共有ライブラリの簡単なまとめ - wagavulinの日記

    Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。作るときはgccの-sharedオプションを使う。使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。リンク時のライブラリ探索パスは-Lオプションで指定する。実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。新しくライブラリを入れたときはldconfigするといいらしい。逆に今まであまり知らなかったこと。ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge.soやlibh

  • よくわかるLinux帯域制限 | GREE Engineering

    矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が

    よくわかるLinux帯域制限 | GREE Engineering
  • LinuxでCPU使用率を上げるコマンド - ablog

    いいものを見つけたのでコピペ。 yes >> /dev/null & 最後に & お勧め w(二つターミナルが必要でなくなる。) ちなみに メモリ負荷をあげる魔法のコマンド /dev/null < $(yes) & LinuxCPU負荷を上げる魔法のコマンド - Qiita ">>" は ">" でも良いと思うが、何か特別な理由があって">>"にしているのだろうか。 追記(2014/10/08): ただのメモにはてブがたくさん(当社比)ついてビックリ(^-^; コア数に対する考慮が足りない。 コア数に対する考慮が足りない。 - gomakyuのコメント / はてなブックマーク とコメントを頂いた通り、上記のコマンドを実行しても1つの論理CPUを使い切るだけです。 例えば上の図の通り、1ソケット * 4コア * 2スレッド で論理CPU数が8の場合は、ざっくり、1多重で実行すると12.5%

    LinuxでCPU使用率を上げるコマンド - ablog
  • Linuxアプライアンス類もBash脆弱性対策を - .@sknn's tumblr.

    [NEW] 2014/09/30: アプライアンスの対応状況まとめを随時更新中 CVE-2014-6271及びCVE-2014-7169ねた(Bash脆弱性)。 世間では、外部公開サーバー(特にWebサーバー)への対処が着々と進められています。Webサーバーだけでなく、メールサーバーへの攻撃パターンも早期に見付かっています。外部公開サーバーに対する総合的な点検が近いうちに進んでいくものと思われます。 bash Shellshock through MAIL .forward / qmail-alias piping (ML program etc.) CVE-2014-6271 http://t.co/QPbSE8dppM http://t.co/AFuHudkCdh September 26, 2014しかし、一般的なサーバー類だけでなく主にファイアウォールの内部に設置されているアプライ

    Linuxアプライアンス類もBash脆弱性対策を - .@sknn's tumblr.
  • bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog

    bashに脆弱性が確認されたとして騒ぎになっています。ここではCVE-2014-6271に関する情報をまとめます。 #記載内容について、誤っている、追記した方がいい等情報がございましたら@piyokangoまでご連絡お願いします。 脆弱性情報 脆弱性の愛称 ShellShock Bashbug CVE番号 Bash周りで発行されているCVEは6つ。その内詳細が不明なのが2つ。(CVE-2014-6277,CVE-2014-6278) CVE 発見者 想定脅威 特記 CVE-2014-6271 Stephane Chazelas氏 任意のコード実行 ShellShockの発端となったバグ。 CVE-2014-7169 Tavis Ormandy氏 任意のコード実行 CVE-2014-6271修正漏れによる脆弱性 CVE-2014-7186 Redhat DoS メモリ破壊(Out-of-Bo

    bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog
  • Blog: bashの脆弱性がヤバすぎる件 – x86-64.jp - くりす研

    Browse by time: December 2018 (1) December 2016 (1) December 2015 (1) January 2015 (1) September 2014 (2) July 2014 (2) April 2014 (1) February 2014 (1) January 2014 (3) December 2013 (2) September 2013 (3) June 2013 (1) May 2013 (1) April 2013 (1) March 2013 (2) February 2013 (5) やっと更新する気になった。 もくじ 0. 産業で説明 1. 理論編 2. 攻撃編 3. パッチ 4. 結論 0. 産業で説明 bashが アホで 地球がヤバイ 1. 理論編 bashの関数機能は、環境変数の中でも使える仕様になっています

  • UNIXにみる世代間の断絶

    (まだまだ調査中) UNIXにみる世代間の断絶をまとめようという試 みです。どちらが良い悪いという比較をするつもりはありません。 両者の良い点を学んでいこう (新旧自在の hybrid type を目指そ う) 、というのがこの文書の目的です。

  • 一定時間でシェルコマンドを終了させるたった1つの方法 - Qiita

    Linuxでcoreutils が利用可能なら、timeout コマンドを使いましょう。なお、Mac であれば brew install coreutils して gtimeout が使えます。 timeout Usage: timeout [OPTION] NUMBER[SUFFIX] COMMAND [ARG]... or: timeout [OPTION] man には以下のように書かれています。デフォルトの挙動が使いやすそうです。 コマンドがタイムアウトし、--preserve-status が指定されていない場合、 終了ステータスは 124 になります。それ以外の場合、COMMAND の終了ステータスが 終了ステータスになります。シグナルが指定されていない場合、タイムアウト時には TERM シグナルが送られます。この TERM シグナルにより、TERM シグナルをブロック もしく

    一定時間でシェルコマンドを終了させるたった1つの方法 - Qiita