タグ

Linuxに関するtakeshiyakoのブックマーク (16)

  • 減り続けるメモリ残量! 果たしてその原因は!?

    Mem行のfree(MemFreeと呼ぶことにします)は「空きメモリ量」ではなく、何の用途にも使っていない物理メモリ量と考えてください。「MemFreeが少ない→空き物理メモリ量が少ない→利用可能な物理メモリ量が足りない」という発想を防ぐためです。この場合、単純に物理メモリを追加しても、いつかはMemFreeが少ない状況に落ちていくため、解決にはなりません。 システム全体のメモリ利用量の監視は、freeのみを判断基準とするのではなく、もっと総合的に「利用可能な物理メモリ量」を計算する必要があります。 システムが利用可能なメモリ量を計算するには、Linuxのページキャッシュの扱いを理解する必要があります。LinuxはHDDなどのストレージに保存してあるデータの読み出し/書き出し時に確保したメモリをページキャッシュという形で保持します。 CPU はストレージのデータを直接読むことはできません。

    減り続けるメモリ残量! 果たしてその原因は!?
    takeshiyako
    takeshiyako 2012/04/12
    『MemFreeを監視すること自体には、あまり意味がない』
  • 減り続ける利用可能メモリ……そしてついにリブート!

    減り続ける利用可能メモリ……そしてついにリブート!:Linuxトラブルシューティング探偵団 番外編(2)(2/3 ページ) メモリが足りなくなるとOSってハングアップするの? まずは、そもそもの疑問を整理しておきましょう。 お客さまは「メモリが足りなくなってリブートに至った」といっています。ですが今回の場合は、メモリ不足自体がリブートに直結したのではなく、ハングアップしていたところをASRによってハードウェア的に落とされたことが分かっています。ですから、質的な疑問は「メモリ不足がOSハングアップを引き起こし得るか?」ということです。 そもそもハングアップとは、カーネルパニックなどを起こしてシステムがクラッシュしている場合と、何らかの原因で極端に動作が遅くなっている場合がありますが、残念ながら疑問に対する答えは「Yes」です。メモリ不足がOSのハングアップを引き起こすことはあります。 「そ

    減り続ける利用可能メモリ……そしてついにリブート!
  • Amazon EC2でウィルス対策をする – ClamAV – | DevelopersIO

    Linuxでウィルス対策 みなさん、Linuxでウィルス対策ってしていますか?実のところあんまりやってないと思うんです。今回は、Linuxでウィルス対策ってどんなツールや製品があるのか、いろいろ調べていく中で見つけましたClamAVというツールを使ってみたいと思います。 ClamAVとは ClamAVは、オープンソース(GPL)で開発が継続されている、パターンマッチング型のウィルス対策ソフトです。現在登録されているパターンの数なんと100万超え!、毎日数回のアップデート!という運営がされています。一体何者!?と思いまして調べてみますと、Snortで有名なSourcefire社による製品だという事が分かりました。これは期待大。 ClamAVのインストール それでは早速ClamAVをインストールしてみます。Amazon Linuxにて、EPELリポジトリを指定することでインストールを簡単に行う

  • アプリケーションがマルチスレッドでもマルチコアCPUを活かせない件 - blog.nomadscafe.jp

    もっと詳しい方のフォロー募集です アプリケーションがマルチスレッドになってもネットワーク処理が分散されなければマルチコアを活かせない典型的な例です。id:viverの古橋さんがs100kpsとしてあげていた件にも近いかも。 memcachedで現象を確認します。最近のmemcachedはマルチスレッドで動くようになっているので、まずはそれを確認します。 $ memcached-tool localhost stats|grep threads threads 4 スレッドが4つで起動しています。 負荷がそれなりにある状態(8000req/sec程度)で、コマンドラインでtopを開き、「1」キーを押して、CPUごとの使用率を表示します。(例はFedora8 kernel-2.6.23) Tasks: 77 total, 1 running, 76 sleeping, 0 stopped, 0

  • CFQスケジューラのアルゴリズム概要 VA Linux Systems Japan

    Linuxカーネルは、ブロックI/Oの処理効率を向上させるさせるための仕組みとして、I/Oスケジューラと呼ばれる機能を提供しています。I/OスケジューラはI/O要求の順序を入れ替えることにより、スループットを向上させたり、特定のI/O要求を優先して実行させたりします。 実際のブロックデバイスのセクタに対するアクセス(つまり読み書き)を、要求された順序ではなく、I/Oを最も効率よく行うためにその順序を並び替えるというアイデアは、初期のUNIXの実装から採用されていました。それは、セクタ番号順序に並び替えてI/Oを実行するという単純なものです。ディスク面上を移動するヘッドの動きがエレベータに似ているため、このアルゴリズムはエレベータアルゴリズムなどと呼ばれていました。 現在のLinuxカーネルでは、そのころのアルゴリズムより洗練されたスケジューリング方式を採用しており、目的に応じて4種類の

  • I/Oスケジューラを使う。

    (参考)LinuxカーネルのI/Oスケジューラ http://memo.blogdns.net/iosched.html 以下、上の記事の抜粋です。特に「スケジューラの種別ってなんだっけ」レベルの方は'''下の記事を鵜呑みにせず、上のリンク先に訪問して全文をお読みください''。 (ここから抜粋) Linux カーネルの I/O スケジューラ 従来は Linux カーネルの I/O スケジューラは一種類だけで、コンパイル時に固定されていました。しかし Linux カーネル 2.6.10 からは複数の I/O スケジューラをデバイス毎に切り替えて、ハードウェアや用途に最適なスケジューラを選べるようになりました。カーネル 2.6.17 に組み込まれているスケジューラは下の四種類です。 noop anticipatory deadline cfq noop スケジューラ noop スケジューラはそ

  • ITトピックス

  • kernel:I/O Schedule - Simple is Beautiful

    CPUリソースの割当スケジュールとは別に、デバイスI/Oもスケジューラがある(I/Oスケジューラ) kernel2.6がサポートするI/O Scheduler Name 内容 Complete Fair Queueing(CFQ) ProcessごとにQueueを割り当て、各Queueに均一の帯域幅を、I/O要求に優先度を設定する。優先度に基づきI/Oが処理される deadline 特定の時間を経過しても実行されていないI/O処理を優先的に処理する(長時間I/O処理が実施されないことを防止する)。データベース管理システムのI/O処理等に向く anticipatory deadlineスケジューラ改良型。Processごとの統計情報に基づき、一般的に連続的なI/O要求を行う傾向があることを利用して一連のI/O処理をまとめて実行するようにする noop 要求順でのI/O処理 CFQはkerne

    kernel:I/O Schedule - Simple is Beautiful
  • Linux Block I/O Bandwidth Control

    The goal of this project is to develop a block I/O bandwidth controller on Linux.

  • ディスクI/O帯域制御ドライバ dm-ioband VA Linux Systems Japan

    dm-iobandは、LinuxでディスクI/Oの帯域制御を行うdevice-mapperのデバイスドライバです。パーティション、ユーザ、プロセス、仮想マシン等、様々な単位で帯域を制御することができます。文書では、このdm-iobandを使ってRed Hat Enterprise Linux 5(以下、RHEL5)および CentOS 5の論理ボリュームの帯域制御を行う方法を紹介します。 dm-iobandは既存のブロックデバイスの上にdevice-mapperのデバイスをスタックして利用します。このデバイスに対して出されたI/O要求は、dm-iobandで帯域制御されてから下位のデバイスに渡されます。 帯域制御の方式は三種類あり、それぞれ、weightポリシー、weight-iosizeポリシー、range-bwポリシーと呼びます。ユーザはこの中から任意のポリシーを撰択し

  • AndroidのNFC機能でFeliCaの読み書きをする | −ゆめログ− | ゆめみスタッフブログ

  • tune

    ■1プロセスが同時に開けるファイル数を増やす 以前LinuxがOSとして同時に開けるファイル数を増やす手段は紹介したが、今回は1プロセスが同時に開くことができるファイル数を増やす方法のメモ。ユーザ単位の設定になるので注意。 Linuxサーバチューニングメモ http://blog.isnext.net/issy/archives/190 とあるパフォーマンステストを行っていたところ、プロセスが開けるファイル数を超えたというエラーが頻発したため、以下の手法で対応した。CentOSでは標準で1プロセスが同時に開けるファイル数は1024。OSのfile-maxは最近のバージョンではかなり大きな数字になっているのに、こちらの値は結構前から1024のままらしい。そこでこの値を修正する。 ■現在の状態を確認する(確認したいユーザでログインすること) [code]# ulimit -Sa core fi

  • vmstatはcpu waをどうやって算出しているのか

    はじめに vmstatには'cpu wa'フィールドがあります. このフィールドの値はどっからでてきているのでしょうか. それをソースコードの面で探求したストーリー. 出張カーネル読書会の前座として発表させていただきました. 資料 発表に利用したプレゼンテーション資料のPDF版(540k). Linux kernel 2.6.11 のソースコードとDebian sidのprocpsに入っているvmstatのソースコード をgonzui 0.9を利用して解析してみたときの記録です. 発表トランスクリプト 西尾さんからのいただきものです.ありがとうございます. わたしは、上川と申します。Debianのデベロッパーやってます。今日は前座と して、思いつきでvmstatでお話します。vmstatでいろんな項目出てきますけど、 これってどういう意味だろうというのを調べてみようと思って、力尽きてioの

  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

    Linux は fork で子プロセスを作成した場合、親の仮想メモリ空間の内容を子へコピーする必要があります。しかしまともに全空間をコピーしていたのでは fork のコストが高くなってしまいますし、子が親と同じようなプロセスとして動作し続ける場合は、内容の重複したページが多数できてしまい、効率がよくありません。 そこで、Linux の仮想メモリは、メモリ空間を舐めてコピーするのではなく、はじめは親子でメモリ領域を共有しておいて、書き込みがあった時点で、その書き込みのあったページだけを親子で個別に持つという仕組みでこの問題を回避します。Copy-On-Write (CoW) と呼ばれる戦略です。共有メモリページは、親子それぞれの仮想メモリ空間を同一の物理メモリにマッピングすることで実現されます。より詳しくは コピーオンライト - Wikipedia などを参照してください。 この CoW に

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)

    Docker / Kubernetesのネットワークアーキテクチャの解説と、代表的なCNIプラグインとしてFlannel、Calico、Canal、NSX-T Container Plugin (NCP) を取り上げ、それぞれの実装の比較しています。Japan Container Days v18.12 での講演資料です。

    エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
  • https://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg

  • 1