タグ

cpuに関するMakotsのブックマーク (24)

  • Linux benchmark scripts and tools

    September 29, 2025 by Hayden James, in Blog Linux This list of Linux benchmark scripts and tools should prove helpful for quick performance checks of CPU, storage, memory, and network on Linux servers and VPS. Check each script before running it from the command line. Most of these scripts will benchmark the CPU, memory, storage, and network. In most cases, the CPU model, frequency, and number of

    Linux benchmark scripts and tools
  • Meltdown, Spectre で学ぶ高性能コンピュータアーキテクチャ - FPGA開発日記

    巷ではIntel, AMD, ARMを巻き込んだCPUのバグ "Meltdown", "Spectre" が話題です。 これらの問題、内容を読み進めていくと、コンピュータアーキテクチャにおける重要な要素を多く含んでいることが分かって来ました。 つまり、このCPUセキュリティ問題を読み解いていくと現代のマイクロプロセッサが持つ、性能向上のためのあくなき機能追加の一端が見えてくるのではないかと思い、Google, Intelの文献を読み解いてみることにしました。 が、私はセキュリティの専門家ではありませんし、過去にデスクトップPC向けのような大規模なCPU設計に参加したこともありません。 あくまでコンピュータアーキテクチャに比較的近い場所にいる人間として、この問題の質はどこにあるのか、可能な限り読み解いていき、現代のマイクロプロセッサが持つ高性能かつ高機能な内部実装について解き明かしていき

    Meltdown, Spectre で学ぶ高性能コンピュータアーキテクチャ - FPGA開発日記
  • CPU使用率は間違っている | Yakst

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

    CPU使用率は間違っている | Yakst
  • 分散プログラミングモデルおよびデザインパターンの考察 その1 - Software Transactional Memo

    Yahoo技術者が書いたブログ techblog.yahoo.co.jp が悪い方向に期待を裏切ってくれたのに対し、 @kuenishi さんがまとまった文章 kuenishi.hatenadiary.jp を書いていたので、僕も2番煎じぐらいでまとまった文章を書く。 始めに断っておくと、分散システムというのはまだまだ事例を集めていくフェーズを抜けきっておらず、体系立った大統一理論的な分類法は確立していない。ここに書くのは、これまでの分散システム事例やこれからの分散システム事例を分類していく際にその性質をカテゴライズする一助となれば良いな、程度の文章なのであまり真に受けないで欲しい。 なぜYahooの記事が期待はずれなのか 人によって意見はあるとは思うが、個人的に感じたのは以下の3つ。 分散システムのデザインパターンと銘打っておきながら並列・並行システムの分野の話からクラウド環境へとこじ

    分散プログラミングモデルおよびデザインパターンの考察 その1 - Software Transactional Memo
  • 分散プログラミングモデルおよびデザインパターン - kuenishi's blog

    同名の某記事について。僕がタイトルから想像する期待を、なんだか意外な方向に裏切ってくれた記事であった。批判するだけではよくないので、同じタイトルで僕ならどういう話になるか…という話をしよう。絵のない長文だ覚悟して読め(ΦωΦ)フフフ…。 分散プログラミングモデル プログラミングモデルとはなんであろうか。 …CもJavaもMPIも登場していない1972年の論文を持ってこられてそれがオリジナルだみたいなこと言われてもえー…って感じで、Flynnの1972年の論文は並列計算やHPCの方面へ非常に大きな影響を与えていると思う。ただしそれはCPU内の話であって、時代が進むと共にたとえば牧野先生の日記「並列計算機のプログラミングモデル」で書かれているような議論につながるといえば繋がるには繋がるが、このレベルで計算を並列化する議論にしか応用できない。せいぜい、プログラミングモデルとひとくちにいっても様々

  • AWS の CPU の歴史とそこから見えてくる戦略 | はったりエンジニアの備忘録

    あけましておめでとうございます! 去年は AWS 認定試験を制覇したので、今年は実践スキルを今以上に磨いていこうと思います。 さて、最近の EC2 インスタンスは Intel CPU のプロセッサー・ナンバーが公開されています。ですが M1, M2, C1 といった旧世代インスタンスでは CPU にばらつきがあり、当たり外れの差が激しかったのは記憶に新しいところ。 当たりの CPU が出るまで stop → start を繰り返すインスタンスガチャも流行りました (笑) 今回は AWSCPU について歴史を振り返りつつ、その戦略を考えてみます。物理レイヤーを意識することがほとんどない AWS ですが、物理の知識なしでは最高のパフォーマンスは得られません。知っておいて損はないでしょう。 インスタンスタイプのリリース時期は公式ブログ「EC2 の歴史」に載っていますので参考にしてください。

    AWS の CPU の歴史とそこから見えてくる戦略 | はったりエンジニアの備忘録
    Makots
    Makots 2016/01/06
    規模の経済
  • EthernetやCPUなどの話 | GREE Engineering

    こんにちわ。せじまです。今年に入ってからアクティビティトラッカーを二回壊しまして、新しい分野の製品って設計いろいろ難しいんだなと、しみじみ思う今日このごろです。 先日、社内勉強会で EthernetCPU などの話をしました。前回のCPUに関する話に続き、今回のスライドも幅広い方に読んでいただけそうな内容かと思いましたので、公開させていただくことにしました。前回のスライドを読んでない方は、できればそちらを読んでいただいてからの方が、より理解が深まるのではないかと思います。 忙しい人のために三行でまとめると 2020年代には、サーバのネットワークインターフェースが 40Gbps 超えてそうな予感 もし Ethernet でそれだけ大量のパケットをさばくなら、(標準化されてないけれど) Jumbo Frame 使わないと厳しいかも 2020年代には、NICやブロックデバイス等、CPUを取

    EthernetやCPUなどの話 | GREE Engineering
  • パフォーマンス分析の方法論23選 | POSTD

    パフォーマンス分析のメソドロジーとは、システムやアプリケーションのパフォーマンスを分析する際に準拠できる手法です。メソドロジーを手がかりとして作業に着手できますし、根原因やその他の要因の発見に役立ちます。異なる種類の問題を解決するのには、それぞれに適したメソドロジーがあります。目的を達成するまでに何度か方法を変えて試してみるといいかもしれません。 メソドロジーを使わない分析は手探りの探索になり、ある問題に対する手がかりが見つかるまで(もしあればですが)ずっと場当たり的にメトリクスを分析することになってしまいます。 このサイトでは以下のメソドロジーについて詳しい資料を公開しています。 USE(Utilization Saturation and Errors)メソッド :リソースのボトルネックを見つける TSA(Thread State Analysis:スレッドステート分析)メソッド :

    パフォーマンス分析の方法論23選 | POSTD
  • すべてのプログラマが読むべき記事10選 | POSTD

    Javaプログラマやソフトウェア開発者として、私は「プログラマが知っておくべき…」というタイトルが付く記事から、多くのことを学びました。そういった記事は、特定のトピックに関する有益かつ詳細な情報を数多く与えてくれましたが、探し出すのが非常に困難でもあったのです。知識を探求する中でとても役に立つ記事を見つけたら、参考として何度も読み返せるようにブックマークしてきました。こういった記事を読むことは、どのプログラマにとっても有益になると思うので、私が集めた「 すべてのプログラマが知っておくべきこと 」を皆さんと共有する為にこれを書きました。 ここで紹介する記事は私が個人的にブックマークしたものです。「メモリ」、「Unicode」、「浮動小数点演算」、「ネットワーキング」、「オブジェクト指向設計」、「時刻」、「URLエンコード」、「文字列」などといった代表的なトピックについて載っています。このリス

    すべてのプログラマが読むべき記事10選 | POSTD
  • 性能測定道 実践編

    2014/2/1に開催された日PostgreSQLユーザ会 第27回しくみ+アプリケーション勉強会での講演です。 http://www.postgresql.jp/wg/shikumi/shikumi28

    性能測定道 実践編
  • The C10M problem

    Scalability. It's the question that drives us. It's an anomaly inherent to the programming of the matrix. It's time for servers to handle 10 million simultaneous connections, don't you think? After all, computers now have 1000 times the memory as 15 years ago when the first started handling 10 thousand connections. Today (2013), $1200 will buy you a computer with 8 cores, 64 gigabytes of RAM, 10-g

  • サーバのリソース使用状況レポートを作る - mikedaの日記

    数百台のサーバに対して CPU メモリ HDD の使用状況をサクッとチェックしたいなーと思ったのですが、さすがにmuninのグラフで見るのはダルすぎる。 というわけで日次でこういうページを作ってチェックするようにしました。 上記の情報が数字でダーっと並んでて、ついでに簡単に色付けとか、muninへのリンク張りとか、各項目でのソート機能付けたりとかをやってます。 CPUとメモリの使用率は前日の平均、ディスク使用率はバッチ実行時の値です。 最初はmuninのRRDファイルから作ろうかと思ったのですが(gist)、この程度の情報ならsysstatやdfの結果から作るほうが簡単なので、sshで集めてくることにしました。 とりあえずHTMLに出力してますが、CSVで出したりDBに突っ込んだりすれば各種調査に便利ですよ! ソースコード Ruby1.9版です #!/usr/local/bin/ruby

    サーバのリソース使用状況レポートを作る - mikedaの日記
  • CPUのアーキテクチャをトイレに例えると | Hinemosu

    おもろい。たとえ方がうまいなぁ。 消え気味なのでコピペ。 155 :・良く分かるパイプライン :04/04/26 17:20 ID:B6tZVOSS 「おしっこをして手をあらってでてくる」。 トイレが一室しかないと混雑時は長蛇の列ができます。 1.おしっこをする 2.手を洗う。 二段のパイプにすると、手を洗ってる間に別の人が用を足せるようになります。 トイレ一室で二人が気持ちよくなれて、効率が倍になります。 もうすこし深くしてみましょう。 1.ジッパーを下げる 2.ちんちんとりだす 3.放尿する 4.しずくを切ってちんちんしまう。 5.ジッパーをあげる 6.手を洗う 7.紙を使って手をふく 7ステージに分解すると、なんと 7人が同時に処理できます。 これがパイプラインです。 156 :・良く分かるスーパスケーラ :04/04/26 17:21 ID:B6tZVOSS トイレの利用はおしっこ

    CPUのアーキテクチャをトイレに例えると | Hinemosu
  • CPU とキャッシュのはなし - graphics.hatenablog.com

    別にグラフィックスに限ったことじゃないし、そもそも論文とか全然関係ないけど。GPU 周りでもたまに話題になるし、自分でもたまにわけわからんくなるから整理しとく。 メインメモリは遅い CPU からメインメモリにデータを読みに行く場合、これはとにかく遅い。例えばレジスタにあるデータを読みに行く場合と比べると、だいたい数倍から数100倍の遅さ。ヤバいからなんとかしよう。もっと早くアクセスできる場所にデータおいとこう。 キャッシュライン CPU がメインメモリからデータを読み出すとき、必ず小さなメモリチャンクをキャッシュ上にロードする。ロード単位はプロセッサによるけど、だいたい 8 ~ 512 バイト。このロード単位をキャッシュラインと呼ぶ。 アクセス対象のデータが既にキャッシュに載ってる場合は、メインメモリじゃなくてキャッシュを読みに行く。ない場合はメインメモリにアクセスするけど、そのデータはも

    CPU とキャッシュのはなし - graphics.hatenablog.com
  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47

    dstatの万能感がハンパない - (ひ)メモ
  • Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策

    28C3(28th Chaos Communication Congress)において、Effective Denial of Service attacks against web application platforms(Webプラットフォームに対する効果的なサービス妨害攻撃)と題する発表がありました(タイムスケジュール、講演スライド)。 これによると、PHPをはじめとする多くのWebアプリケーション開発プラットフォームに対して、CPU資源を枯渇させるサービス妨害攻撃(DoS攻撃)が可能な手法が見つかったということです。この攻撃は、hashdos と呼ばれています。 概要PHPなど多くの言語では、文字列をキーとする配列(連想配列、ハッシュ)が用意されており、HTTPリクエストのパラメータも連想配列の形で提供されます。PHPの場合、$_GET、$_POSTなどです。 連想配列の実装には

  • 「load average」によるCPU負荷の確認

    Solaris 8でメールサーバを構築しています。以前、サーバの応答が遅くなった際、CPU負荷を確認しようと思いましたが、Solaris 8にはtopコマンド*がありませんでした。そこで、uptimeコマンドを使用したのですが、出力の「load average」の単位が分かりません。非常に応答が悪い状態でも、「1」や「2」という値なので、CPU使用率ではないようです。この単位を教えてください。 run queueとwait queue 「load average」は、run queueに入っているジョブ*の数を表しています。run queueとはCPUに割り当てられたジョブが入れられる待ち行列のことで、CPU数が1つのときに「2」と表示された場合、CPUは2つのジョブを実行しています。この平均値が「load average」であり、左から1分、5分、15分間のrun queueにあるジョブ

  • Linuxのtopコマンドで表示されるload averageについて教えてください。…

    Linuxtopコマンドで表示されるload averageについて教えてください。CPU使用率というのは理解しているのですがどれぐらい負荷が加わっているのか判断する基準が知りたいです。

    Makots
    Makots 2011/11/07
    このあたりの細かい定義って網羅的に理解できていないなあ。
  • Intelの仮想化支援機能「Intel VT」とは? - @IT

    サーバ向けプロセッサのマルチコア化が進む現在、そのプロセッサ・パワーを活用する用途として、仮想化に注目が集まっている。仮想化技術を用いることで、ハードウェアとOS/アプリケーションとの独立性が高まり、その結果、サーバ・システムの柔軟性や保守管理性が向上する。例えば、これまで複数のサーバで稼働させていたOSとアプリケーションを、1台のサーバに集約することで、サーバ・システムの単純化や利用率の向上、コストの削減などのメリットがもたらされる。 しかし仮想化技術は、コンピュータ・ハードウェア上に仮想的なコンピュータ(仮想マシン)をソフトウェアで構築するという技術であるため、さまざまなオーバーヘッドが生じる。仮想マシンで実行されるゲストOSは、仮想化していない場合と同様、1台のコンピュータを占有しているものとして稼働するため、仮想マシンを提供する仮想マシン・モニタ(VMM)がハードウェア・リソースを

  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

    シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

    xargs を使ってカジュアルに並列処理 - たごもりすメモ