タグ

zyxwvのブックマーク (1,070)

  • sarコマンドの使い方 - Qiita

    概要 サーバの応答が遅くなるなど計算機のパフォーマンスに問題が生じたとき、原因としてCPU・メモリ・IO・ネットワークなど色々な原因が考えられます。原因を特定するために、それぞれのリソースの状況を見ていき、例えば「CPU使用率が100%近い値になっていないか」「メモリが足りなくなってスワッピングが頻繁に起きていないか」など考えられるものを検証していく必要があります。 計算機の状況を知るためのコマンドにはvmstatやiostat、topやpsなどいろいろあると思いますが、その中でもsarは様々なリソースについて過去に遡って見ることができるため、大まかな原因特定に非常に役立つので、使い方についてまとめておきます。 sarコマンドの基的な使い方 オプション/引数 sarを使えば、CPU・メモリなど計算機のパフォーマンスに関わる様々なリソースの情報を得ることができます。引数やオプションの基

    sarコマンドの使い方 - Qiita
  • Linux Networking Tools: 101

    Representation Learning for Scale-free Networks: スケールフリーネットワークに対する表現学習

    Linux Networking Tools: 101
  • FIN -> FIN/ACK -> ACK という TCP の幻想 - kawasin73のブログ

    掴んで離さぬコネクション。どうも、かわしんです。しがみつかずに適切なタイミングで離しましょう。 この1週間で RFC を読みながら TCP/IP プロトコルスタックを自作した 1 のですが、その時にコネクションの終了処理でハマったので後学のために書き残しておきます。 一言でまとめると FIN -> FIN/ACK -> ACK は間違っていて、正しくは FIN/ACK -> FIN/ACK -> ACK であったという話です。 ちなみに、僕が自作した TCP/IP プロトコルスタックはこれです。 github.com 現象 それは TCP のリスナーと close 処理が出来上がってコネクション管理のテストをしていた時のことでした。 自作 TCP スタックでポートを Listen して Accept したらすぐにサーバ側からコネクションを切断するというテストコードを書いて実行し、Linux

    FIN -> FIN/ACK -> ACK という TCP の幻想 - kawasin73のブログ
    zyxwv
    zyxwv 2024/07/21
    "一言でまとめると FIN -> FIN/ACK -> ACK は間違っていて、正しくは FIN/ACK -> FIN/ACK -> ACK であった"
  • RDMAとは ~高速化技術とクラウド 第7回~ | 技術畑 | 情報畑でつかまえて

    RDMA(Remote Direct Memory Access)は、あるコンピュータから別のコンピュータのメモリにネットワーク越しでアクセスすることができる技術です。 伝統的なネットワーク通信では、データはCPUを介してメモリにアクセスされますが、RDMAではCPUを介さずに直接メモリにアクセスできます。 図1.従来のデータ転送とRDMAの比較 RDMAは、ネットワーク上でのデータ転送に特化したプロトコルやハードウェアを使用し、データを送信する側と受信する側の間で直接メモリのアドレスを交換することで、データを転送します。 RDMAの仕組みは、以下のようになっています。 ①データ送信元のアプリケーションは、RDMA API(verbs)を使用してデータを送信します。このAPIは、データの送信元と送信先のメモリアドレスを指定することができます。プロトコル処理はカーネルをバイパスされてNICで

    zyxwv
    zyxwv 2024/07/17
    RDMA はネットワーク(Ethernet とか Infiniband とか)で繋がった他ホストのメモリに CPU を介さず直接アクセスできる技術
  • perf を使った性能分析 - VA Linux エンジニアブログ

    1. はじめに 2. perf 概説 2.1 perf とは 2.2 基的な使い方 性能データの採取 性能データの分析 2.3 採取可能なイベント 組み込みイベント ユーザ定義イベント(dynamic tracepoint) 3. 具体例 3.1 準備 3.2 プロファイル 性能データの採取 性能データの分析 3.3 トレース 性能データの採取 性能データの分析 4. 最後に 5. 参考資料 執筆者 : 西村 大助 1. はじめに 稿では、ネットワークの受信処理を例に、perf を使った性能分析を行う方法を解説します。 提示している実行例やソースは、実行環境として(やや古い)Ubuntu18.04LTS(4.15.0-20-generic)を前提としていますが、他のバージョンでも基的な考え方は変わりません。 2. perf 概説 具体的な例の前に、簡単に perf についてまとめてお

    perf を使った性能分析 - VA Linux エンジニアブログ
  • How does DMA work with PCI Express devices?

    zyxwv
    zyxwv 2024/07/15
    PCIe デバイスはバスマスタになることができ、RC のドライバから EP デバイスにコマンドを送って DMA を実行することができる
  • メモリモデル?なにそれ?おいしいの? - yohhoyの日記(別館)

    この記事はC++ Advent Calendar 2014の21日目にエントリしています。 内容はC++メモリモデルと逐次一貫性についての概説記事となっています。 flickr / nomadic_lass もくじ 忙しい人のための「C++メモリモデル」 C++メモリモデル一問一答 ソフトウェアからみた「C++メモリモデル」 “メモリ”という共有リソース C++ソースコードが実行されるまで メモリの一貫性と整合性 逐次一貫性モデル is Easy ハードウェアからみた「C++メモリモデル」 ハードウェア・メモリ一貫性モデル C++コンパイラの責任と自由 強いメモリモデル vs. 弱いメモリモデル 逐次一貫性モデル is Hard (文のみ約9600字) まえがき When your hammer is C++, everything begins to look like a thumb

    メモリモデル?なにそれ?おいしいの? - yohhoyの日記(別館)
    zyxwv
    zyxwv 2024/07/15
    強いメモリモデルと弱いメモリモデル
  • Linux コンテナの歴史を追うとコンテナの仕組みがわかる / Dai Kichijoji pm

    2024-07-13「大吉祥寺.pm」の発表資料です。 参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

    Linux コンテナの歴史を追うとコンテナの仕組みがわかる / Dai Kichijoji pm
  • 意外と知られていない、Linuxのメモリホットプラグのインタフェースについて - Qiita

    0.はじめに 0.1 今年を振り返って この記事はFujitsu Advent Calendar 2023 の24日目の記事です。 なお、記事は個人の意見に基づくものであり、組織を代表するものではありません。 今年もAdvent Calendarの季節となりましたね。皆様お変わりないでしょうか? 私の方はというと、全体的に多忙ではありましたが、夏には国際学会IEEE NVMSAでの発表、秋から年末にかけて海外出張やOpen Source Summit Japanでの講演など、今年後半は怒涛のように仕事がくる状態になってました。おまけに 「Linus Torvaldsと会談せよ」 というミッションまで降ってきてしまい、正直どうなることかと思いました。人生、何が起こるかわからないものです。学生時代、英語は超苦手だったのに…。 0.2 今年の記事について さて、例年このAdvent Calen

    意外と知られていない、Linuxのメモリホットプラグのインタフェースについて - Qiita
  • ChatGPT for Developer - Promptのチカラ

    ChatGPT がアプリケーションに最初に組み込まれたのは GitHub Copilot かもしれません。ここでは、ChatGPT そのものと、GitHub Copilot の双方を使って、アプリケーション開発を爆速させ、品質を少しでも向上させ。そして、Developer の皆さんのスキルを上げていくための入り口として、機能の概要を取り上げます。 内容: - Promptだけで出来るコト: 業務で使うために抑えておくべきポイント。データ・変換・抽出 - PromptのEngineeringへの適用: 企画から要件定義、設計、実装、デプロイも。 - 開発の生産性と品質をあげるための戦略: Prompt自身の現在の能力、チーム開発に向けて サンプルのPrompt: https://github.com/dahatake/ChatGPT-Prompt-Sample-Japanese/tree/m

    ChatGPT for Developer - Promptのチカラ
  • ChatGPT - LLMシステム開発大全

    ChatGPTとLLMシステム開発について纏めた187ページ資料です。 2024/04 名称を改め資料を大幅にアップデートしました! 今後も随時更新していきます。 データサイエンティスト協会での発表動画はこちら。 https://youtu.be/l9fpxtz22JU Build Japanでの発表はこちら。 https://youtu.be/UEZzx6a005g?si=Ot8EO2bv8yhQQEcy 2023/7/28 体裁修正、余計なページを削除 2023/12/12 RAG、API仕様、モデルのページを追加。また情報を最新化。 2024/04 名称を改め資料を大幅にアップデートしました! 1. LLM - GPTの全体像 LLM - GPT とは何なのか ~チャットAIを例にした動作イメージ~ 大規模言語モデル(LLM)が持つ基礎能力 デジタルツールとLLMの連携 GPTに関す

    ChatGPT - LLMシステム開発大全
  • 6万ミリ秒でできるLinuxパフォーマンス分析 | Yakst

    NetflixのシニアパフォーマンスアーキテクトであるBrendan Gregg氏による、Linuxサーバにログインして60秒でまず調べることのまとめ。 パフォーマンス問題でLinuxサーバーにログインしたとして、最初の1分で何を調べますか? Netflixには、多数のEC2 Linuxからなるクラウドがあり、そのパフォーマンスを監視したり調査したりするための数々のパフォーマンス分析ツールがあります。その中には、クラウド全体にわたる監視を行うAtlasや、オンデマンドにインスタンスの分析を行うVectorがあります。これらのツールは多くの問題を解決する手助けをしてくれますが、各インスタンスにログインし、標準的なLinuxパフォーマンスツールを実行する必要がある場合もあります。 この記事では、すぐ使えるはずの標準的Linuxツールを使いコマンドラインにおいて、最適化されたパフォーマンス調査を

  • CPU使用率は間違っている | Yakst

    Netflixのパフォーマンスエンジニアである筆者からの、topコマンドなどで表示されるCPU使用率(%CPU)は、いまや当の使用率を表しておらず、チューニングなどのための指標として使えないという指摘。なぜそうなってしまったのか、何を見れば当のCPU使用率がわかるのかをわかりやすく解説した記事。 私たちみんながCPU使用率として使っている指標は非常に誤解を招くもので、この状況は毎年悪化しています。CPU使用率とは何でしょうか?プロセッサーがどのくらい忙しいか?違います。CPU使用率が表しているのはそれではありません。私が話しているのは、あちこちで、あらゆる人たちに、あらゆる監視製品で、あるいはtop(1)でも使われている、"%CPU"という指標のことです。 あなたの考えているであろうCPU使用率90% : 実際 : "stalled"(訳注 : 以下ストールと言う)とは、プロセッサーが

    CPU使用率は間違っている | Yakst
  • Armの仮想化支援機構を用いてハイパーバイザーを自作する

    論文紹介:KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor

    Armの仮想化支援機構を用いてハイパーバイザーを自作する
    zyxwv
    zyxwv 2024/06/24
    GIC による割込みコントローラの仮想化
  • Address Space Identifier - ASID - Architectures and Processors forum - Support forums - Arm Community

    zyxwv
    zyxwv 2024/06/21
    ASID はプロセスに振られる8ビットの値で、キャッシュエントリなどを区別するために使われる。256個全部使ったら全クリアする。VM ごとに振られる VMID もあり、OS はその2つがマッチすることを確認する。
  • Writing VirtIO backends for QEMU — QEMU documentation

    zyxwv
    zyxwv 2024/06/21
    QEMU で virtio バックエンドを実装する場合3パターンあって (1)QEMU 内にそのまま実装 (2)vhost を使ってホストカーネル内に実装 (3)vhost-user を使って独立したユーザスペースドライバで実装
  • Virtio and Vhost Architecture - Part 2

    zyxwv
    zyxwv 2024/06/21
    virtio と vhost
  • Virtio and Vhost Architecture - Part 1

    zyxwv
    zyxwv 2024/06/21
    virtio と vhost
  • Virtio, vhost, vhost-user, vsock, etc. - Lencerf's Walk

    zyxwv
    zyxwv 2024/06/20
    vhost は、ゲストカーネルからの処理依頼を VMM を飛ばしてホストのドライバに直接渡す。vhost-user はユーザスペースドライバに直接渡す。vhost-user のメリットはドライバをVMM 非依存にできること。
  • ioeventfd & irqfd - KVM日記

    2.6.32でマージされた*1KVMの新機能ioeventfdとirqfdについて調べてみました。 eventfd どちらもeventfd(2)を利用しているので、まずはその概略から。 eventfdは2.6.22から利用可能なユーザプロセス間もしくはユーザ・カーネル間のイベント通知専用のシステムコールです。eventfdはeventfdオブジェクトと呼ばれるディスクリプタを返します。利用者はこのディスクリプタに対してread/write/select/pollなどをすることでイベントの通知や受け取りを行ないます。この種のディスクリプタを介したイベント通知はpipeやsocketでも可能ですが、特化している分eventfdの方が簡潔に書けて軽量です。 同種のシステムコールにsignalfdやtimerfdなどがあり、各種ディスクリプタとまとめてselect/pollすることができて便利です

    ioeventfd & irqfd - KVM日記
    zyxwv
    zyxwv 2024/06/20
    ユーザ空間へ遷移せずゲスト・ホスト間でイベント通知を行うKVMの仕組み。ゲストがパケットを送ると、ゲストのソケットドライバ→KVM→QEMU→ソケットドライバ、とカーネル・ユーザ空間を往復することになり効率が悪い