タグ

2017年11月18日のブックマーク (14件)

  • システム負荷切り分け自分メモ - Qiita

    概要 CentOSでシステムのボトルネックを調査する時の問題切り分け方法の自分メモ。 前提 カーネルモードでCPUが使われるのは、割り込み、システムコール、カーネルスレッド ロードアベレージとは CPUの実行権限が与えられているのを待っているタスク ディスクI/Oが完了するのを待っているタスクの 2つの状態のプロセスの数 切り分けフロー LA高いか? 低い ネットワークなどがボトルネックになっているかも。muninなど、NWに関するグラフを見ると帯域が圧迫しているなどありえる OSの設定などがボトルネック。カーネルのsynパケットの受付数が低いなど。 アプリケーション、OSのログ、各種ログを見ることが大事 ↓ LA高い場合 vmstatで負荷の特徴把握 ↓ CPU負荷 or IO負荷 どちらか cpu負荷: us列, sy列 が高い IO負荷: b列をみる。IO列は低くてもIOが高い場合が

    システム負荷切り分け自分メモ - Qiita
  • Etsukata blog: Hadoop : CPU system 使用率高騰 "zone_reclaim_mode = 1" 編

    はじめに 会社で PB 級の Hadoop クラスタを運用していますが、ある日から Datanode の CPU system (Kernel 内での CPU 使用率) が高騰し、Job が遅延するという症状が発現しました。Hadoop で CPU system 高騰というと、 Transparent HugePage 設定が有名ですが、そちらについては既に特定し、対策済みでした。 THP と Hadoop に関係については下記 Blog が詳しいです。 Transparent Huge Pages and Hadoop Workloads 今回は THP ではなく、 "zone_reclaim_mode" の設定による性能劣化について、現象から原因特定に至るまでの経緯と、推奨する設定について解説します。 現象 観測された現象について簡単に箇条書きします。 CPU user が 5% 程度

    Etsukata blog: Hadoop : CPU system 使用率高騰 "zone_reclaim_mode = 1" 編
  • NUMAについて - so tired

    NUMAについてしょっちゅう調べては忘れているのでまとめておくことにした。 全般的にFrank Denneman氏のブログを大変参考にさせてもらった。 NUMAとは NUMA (Non-Uniform Memory Access) は、共有メモリ型マルチプロセッサコンピュータシステムのアーキテクチャのひとつ。 プロセッサとメモリの対 (これをノードと呼ぶ) が複数存在し、それらをインターコネクトで接続したものがNUMAと定義される。 共有メモリ型であるので各プロセッサが全ノードのメモリを利用可能である必要があるが、あるプロセッサから見て同一ノードのメモリをローカルメモリ、他ノードのメモリをリモートメモリと呼ぶ。 ローカルメモリへのアクセスは低レイテンシ、高パフォーマンスであり、リモートメモリへのアクセスは高レイテンシ、低パフォーマンスとなる。 ほとんどのアプリケーションでメモリアクセスはあ

    NUMAについて - so tired
  • CassandraでOSが不安定になったので調査したらLinuxメモリ管理設定が原因だった - YOMON8.NET

    事象 環境 S/W H/W 原因 対策 Direct Reclaimを避ける 設定方法 結果 その他のチューニング項目 対策② HugePage 対策③ THP無効化 結果②・③ 参考にした情報 カーネルソースコード SlideShare WEB Page 書籍 事象 Casssandra起動してから、ある一定期間経つと突然nodetoolがとても遅くなり、ring情報見るだけでも10秒ほどかかる場合も出ていました。CassandraだけでなくOS全体が不安定になり、SSH経由の操作すらも遅くなる事象が発生しました。 Nagiosで監視をしているのですが、nrpe自体や個別のコマンドが遅くなるのでTimeOutのアラートがいくつも飛んできて何度も夜中に起こされました。 CPUやメモリ、Diskもぱっと見た数字上では余裕があり、処理自体も遅くなっていない状態。Cassandraを再起動すると

    CassandraでOSが不安定になったので調査したらLinuxメモリ管理設定が原因だった - YOMON8.NET
  • Optimizing Linux Memory Management for Low-latency / High-throughput Databases

    Optimizing Linux Memory Management for Low-latency / High-throughput Databases Co-author: Cuong Tran Table of Contents Introduction Setting up the context Reproducing and understanding Linux's zone reclaim behavior NUMA memory rebalancing also triggers direct page scans Lessons learned Introduction GraphDB is the storage layer of LinkedIn's real-time distributed social graph service. Our service h

    Optimizing Linux Memory Management for Low-latency / High-throughput Databases
  • 【Linux I/Oチューニングに便利】vmtouchでファイルがキャッシュに乗っているか確認 - YOMON8.NET

    LinuxでI/Oと格闘していると、重要なファイルがどのタイミングでキャッシュに乗ってくるかは死活問題になります。 このファイルってどれくらいキャッシュに乗っているの?という時に便利な vmtouch というツールがあったのでご紹介。 導入方法 導入はいたって簡単。 $ git clone https://github.com/hoytech/vmtouch.git $ cd vmtouch $ make $ sudo make install ちょっと調査で使いたいだけなら make install はやらなくてもOKです。インストールした場合は /usr/local/bin に実行ファイルがインストールされてmanも利用できるようになります。 基的な使い方 まずは動作の確認に使うファイルを作成します。90000行です。 $ for n in `seq 10000 99999`;do

    【Linux I/Oチューニングに便利】vmtouchでファイルがキャッシュに乗っているか確認 - YOMON8.NET
    bopperjp
    bopperjp 2017/11/18
    ファイルがキャッシュに載っているかどうかを確認するツール
  • Linuxページキャッシュの設定を変更してWrite I/Oをチューニングしたメモ - YOMON8.NET

    環境 設定パラメータ 計測ツール 1 ダーティーページ状況の計測ツール 出力項目 出力フォーマットと出力例 2 時間付きvmstat 3 fio(I/O負荷発生ツール) 観測 実験 チューニング例 デフォルト値 ダーティーページの最小化 キャッシュ有効活用メモリ上に乗せたまま高速処理 局所的なI/O負荷を受け流したい 参考URL 環境 以下のCentOS7環境で検証しています。 $ uname -r 3.10.0-327.13.1.el7.x86_64 設定パラメータ Linuxのページキャッシュの書き出しを設定する主なパラメータは以下です。 バッファをバイパスするI/O(O_DIRECTなど)例外を除いて、通常の書き出し処理は一旦ダーティーページに書かれて後から遅延書き込みされます。 $ sysctl -a | grep dirty vm.dirty_background_bytes =

    Linuxページキャッシュの設定を変更してWrite I/Oをチューニングしたメモ - YOMON8.NET
    bopperjp
    bopperjp 2017/11/18
    ページキャッシュオプション
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
    bopperjp
    bopperjp 2017/11/18
    vmstat での IO負荷の見方
  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
    bopperjp
    bopperjp 2017/11/18
    キャッシュ
  • The OpenTracing project

    # Start Jaeger locally $ docker run -d -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:latest $ export DOCKER_IP=`docker-machine ip $(docker-machine active)` $ cd $GOPATH/src # Grab a simple, self-contained OpenTracing example $ go get github.com/opentracing-contrib/examples/go $ cd github.com/opentracing-contrib/examples/go $ go run ./trivial.go $DOCKER_IP # Visualize the tracing instrum

  • Uber Open Source

    bopperjp
    bopperjp 2017/11/18
    Uber の OSS
  • What is PECS (Producer Extends Consumer Super)?

    Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

    What is PECS (Producer Extends Consumer Super)?
    bopperjp
    bopperjp 2017/11/18
    PECSとは。Collection からモノを取り出す場合、Collection は Producer => super / Collection にモノを詰める場合、Collection は Consumer => extends
  • Java ジェネリクスのポイント - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Java ジェネリクスのポイント - Qiita
    bopperjp
    bopperjp 2017/11/18
    “PECSは、プロデューサー(producer)-extends, コンシューマー(consumer)-superを表しています。”
  • Javaの "? extends" や "? super" の使い方をC#やScala風に考える - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Javaの "? extends" や "? super" の使い方をC#やScala風に考える - Qiita