タグ

CPUに関するclavierのブックマーク (83)

  • cgroupsとメモリ資源と関係を勉強する前に、Linuxの仮想記憶周りを読む... - Qiita

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

    cgroupsとメモリ資源と関係を勉強する前に、Linuxの仮想記憶周りを読む... - Qiita
  • NginxでSSLセッションキャッシュを有効にした際に新規セッションが張れなくなる事象について - oranie's blog

    多分Nginxでゴリゴリやっている人ならm9(^Д^)プギャーだろうけど、メモっておく。 サーバサイドでSSL処理をする際に少しでもCPU処理を軽くする+レイテンシを下げたい目的で ssl_session_cache shared:SSL:128m; ssl_session_timeout 300m;的な設定を入れた所、負荷が高い時間帯に [alert] 14099#0: *1627571 could not allocate new session in SSL session shared cache "SSL" while SSL handshaking, client:〜省略〜というログが出た。ソースコードをほげほげ読んでみると ngx_event_openssl.cのngx_ssl_new_session で記述されている処理でおそらく キャッシュ領域に書き込もうとする 溢れ

    NginxでSSLセッションキャッシュを有効にした際に新規セッションが張れなくなる事象について - oranie's blog
  • Node.jsの人はちゃんとsleepしてください - Qiita

    binding = { sleep: function(s) { var e = new Date().getTime() + (s * 1000); while (new Date().getTime() <= e) { /* do nothing, but burn a lot of CPU while doing so */ /* jshint noempty: false */ } }, だめですね。これCPU使いまくり。 まあ、CPUがいくら発熱してもいいよって思っても、制御が別のタスクに行かないのはアウトです。たとえばこれがサーバのリクエストハンドラに使われてたら、みんな一定秒数遅れてページ表示される、んじゃなくて、 サーバーが一定秒数止まる ことになる。つまり、そのリクエストに3人来たら、3人目は1人目の3倍待たないといけない。 もしコールバック連鎖を使ってるバックグラウンド

    Node.jsの人はちゃんとsleepしてください - Qiita
  • qpstudy 2014.04 ハードウェア設計の勘所

    Windows Azure でスーパーコンピューティング!」for Microsoft MVP camp 2014 大阪会場

    qpstudy 2014.04 ハードウェア設計の勘所
  • Computer Science from the Bottom Up

    A PDF version is available at https://www.bottomupcs.com/csbu.pdf. A EPUB version is available at https://www.bottomupcs.com/csbu.epub The original souces are available at https://github.com/ianw/bottomupcs This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creativ

  • procfs の hidepid オプション - hibomaの日記

    Linuxカーネルの Changelog を斜め読みしていたら hidepid オプションなるものが出ていたのを知りました。 ps や top 等のコマンドを使うと他ユーザのプロセス名やその他の情報を procfs (/proc) を通していい感じに参照できますが、procfsの仕組みとしてこの参照を制限する仕組みのようです エントリは下記を参考に書いたものになります hidepid capabilities of procfs Hide process information for other users procのhidepidオプション - Linuxの備忘録とか・・・ 環境 Vagrant 2.6.32-279.el6.x86_64 Scientific Linux release 6.3 (Carbon) でざっくりと検証した内容を記しておきます hidepid=1 を有効に

    procfs の hidepid オプション - hibomaの日記
  • ISUCON 3 予選回顧録 - その手の平は尻もつかめるさ

    ISUCON 3 の予選に出場してきました。そして敗退しました。 全然全然全然全然駄目で駄目な感じでした。 スコアが上がらねえのなんのってもう惨敗でした。 やったことを時系列順に書くとこんな感じ。ちなみに言語はPerlです。 とりあえずベンチ走らせてみる mysqld の CPU 使用率がトチ狂っているので、真っ先にここを直した方が良いと指摘 インデックスの張り忘れでは? という事で EXPLAIN で確認しようぜ、というのを@__papix__さんに任せる ついでに my.cnf 弄ってスロークエリログを吐くようにする mysqld をリスタートする mysqld リスタートすると、プロセス上では起動できてるしコンソールでもログイン出来るんだけど、アプリ側が "MySQL Server has gone." とかエラー吐いて mysqld を認識しなくなる 誰かが言い始めた「しかたねえか

    ISUCON 3 予選回顧録 - その手の平は尻もつかめるさ
  • ITインフラで起きる「もしも」のための12個のコマンド

    こんにちは。斎藤です。 ITインフラの障害は、多くの場合「予期せぬ」タイミングで発生します。特に、CPUリソースを多量に消費したり、Disk I/Oが輻輳している場合、その切り分けは困難な状況に陥りやすいものです。 そこで、日はITインフラ、特にOS・ミドルウェアを支えるにあたって、問題解決を助けてくれるであろう12個のコマンドを取り上げてみます。「必ず押さえておきたい」5つのものと「更に覚えると便利なコマンド」7つの2節に分けてお話しします。 ※CentOS 6.4 (64bit)を前提に取り上げます 必ず押さえておきたいコマンド もしITインフラ管理者になりたてな方はぜひ サーバサイドのプログラマをやっていたのだけれど、ある日突然「君、サーバ管理担当ね!」と、バトンを渡される方っていらっしゃると思います。私も以前はそのクチでした...。そうなってしまったとき、まずは覚えておきたい5つ

    ITインフラで起きる「もしも」のための12個のコマンド
  • (帰ってきた)InnoDBパフォーマンス最適化の基礎 | Yakst

    MySQL Performance Blogの翻訳。Perconaのサポートエンジニアである筆者が、InnoDBのパフォーマンスチューニングの基礎について、ハードウェアやOSの選定からパラメータの推奨値まで解説する。 最近、2007年にPeter Zaitevが書いた「InnoDBパフォーマンス最適化の基礎」という記事を見つけた。これは素晴らしい記事で、読んでいると、MySQLとPercona Serversそして今日利用可能な全ての基盤技術に関して、6年近くの間に何が変わってきたのかを見直してみたいと思わせるものだ。 当にたくさんのことが変わったものだ!この記事では、InnoDBの使用に効果的なパラメータの多くに、特にパフォーマンスの観点から焦点を当てる。私はサポートエンジニアで、Percona SupportではInnoDBパラメータの適切なサイズに関する質問がたくさん寄せられている

    (帰ってきた)InnoDBパフォーマンス最適化の基礎 | Yakst
  • stressコマンドでI/O負荷だけをかけてみる - niwaka diary

    performance昨日の続き。ddコマンドによる負荷掛けだとどうしてもrun queueが出ちゃうから、I/O負荷がホントにload averageに計上されるの?というところが怪しい。それを疑うために、stressコマンドというものを使ってみました。stress project pageこいつはシステムにCPUやI/O、メモリの負荷を意図的にかけられるユーティリティ。なんて便利なものが・・!下記サイトで知りました、有り難うございます。Linuxでシステムに対して意図的に高負荷をかけたい場合 - RX-7乗りの適当な日々 早速yumでインストール。 yum install stress で、検証開始。I/O負荷をかける時は、stressコマンドに--hddオプションを付け足す。マニュアルによると、hddオプションはspawn N workers spinning on write()/

  • G-WANはなぜ速いのか?をnginxと比べながら検証してみた - blog.nomadscafe.jp

    ツチノコブログのWEBサーバベンチマークツール比較の記事で紹介されていた。WebサーバのG-WAN。この記事によると凄く速いようです。 Intel Xeon E5-2640 (6コア/12スレッド 2.50GHz) を2つというサーバで gwan  334944 req/s nginx 111842 req/s と、速いと言われているnginxの3倍の速度を出しています。 このベンチマーク結果がとても気になったので、なぜG-WANが速いのか、自分でも検証してみました。 結論から言うと以下の2つ。 1) G-WANはデフォルトで物理CPUに合わせた数のスレッドを起動する 2) HTMLファイルも一度読み込んでキャッシュする という事です。 今回はAWSのcc2.8xlarge(E5-2670 8コア/16スレッド 2.60GHz *2)を使ってベンチマークを行いました。OSはAmazon L

  • サーバに負荷をかけるお手軽な方法: RemovableType

    1. CPU使用率を上げる 1-1. (要Perl) perl -e "1 while 1" 1-2. (要Bash) while true; do true; done 1-3. (要Python) python -c "while True: True" ※CPUコアが複数の場合はその数だけ並列で実行する 2. ロードアベレージを上げる(UNIX/Linuxのみ) top -d .00001 ※上がりにくい場合はウェイトをより小さくする、もしくは複数並列で実行する 3. メモリ、スワップ使用率を上げる 3-1. (要Perl) perl -e "$c[$_]='a'x$_ for 1..1000000" 3-2. (要Python) python -c "range(1,100000000)" ※足りない場合はエンドの数を増やす ※Pythonの方はCtrl+Cで中断できない(要kil

  • Linuxで3万(10万)プロセスを同時に起動させてみた

    人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といっても、きちんとした検証をしたわけではないので、あくまで「こういう環境でこういう事をやるとこうなる」という参考程度のものと理解してい頂ければ幸いです。 Linux上でプロセスは同時に何個起動できるのか 数年前にC10K問題が流行りました。これは、簡単に言うと、万のオーダーでプロセスを立ち上げる事になると、現状のOSではそれを想定した設計になっていないためまともに動かなくなる、といった問題でした。 だったら、「10万プロセス位を同時に立ち上げてみて、どうなるか試してみようぜ!」と思い、会社のエンジニアと一緒に試してみました。検証環境は、メモリ48GでCPUはHyperThreading込で24コアです。そこで動いていたOSはDebianでL

    Linuxで3万(10万)プロセスを同時に起動させてみた
  • What Every Programmer Should Know About Memory (PDF)

    What Every Programmer Should Know About Memory Ulrich Drepper Red Hat, Inc. [email protected] November 21, 2007 Abstract As CPU cores become both faster and more numerous, the limiting factor for most programs is now, and will be for some time, memory access. Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these canno

  • Linux Performance Analysis and Tools

    The document discusses Linux performance analysis and tools, focusing on methodologies to identify and resolve performance bottlenecks in operating systems and applications. It emphasizes the importance of understanding system limits to optimize spend and build scalable architectures, while introducing various tools for analysis such as iostat, vmstat, and top. Brendan Gregg, a lead performance en

    Linux Performance Analysis and Tools
  • FPGAとArduinoとRasberryPIの違いと、FPGAを勉強する理由 - きしだのHatena

    はたから見てると、FPGAとArduinoとRasberry PIって、なんか小さくてデバイス挿して使ってて似たもののように見えるかもしれません。 そんな中、どこが違うの?って思ってる人もいるかと思ったので、それぞれの違いと、そしてそこから得られる技術者としての知識をまとめてみます。 まあ、得られる知識として「それぞれのデバイスの使い方と周辺環境」ってのはありますが、それは当然として。「それぞれのデバイスの使い方と周辺環境」を得るメリットがわかる比較としてまとめたいと思います。 根底は「なんで最近FPGAをやってるか」っていうことの説明なので、そういうバイアスがあると思ってください。 FPGAというのはチップの種類なので、実際にはDE0などのFPGA評価ボードとの比較ですが。中でもDE0-nanoは大きさや価格を考えると、豪華なArduinoくらいの位置づけとして出してきたようにも見えます

    FPGAとArduinoとRasberryPIの違いと、FPGAを勉強する理由 - きしだのHatena
  • CPUはオワコン - きしだのHatena

    FPGACPUを組んでると、フェッチ部やデコーダ部で足し算や掛け算をしようとして、そんなことしたらCPUの意味ないなーと思ってしまうことがありました。 で、よく考えたら、FPGAでロジックを組むならCPUの意味はないんです。 だいたい、ひとつの処理実行するのに何クロックかかってんですか!と。 CPUでは、計算効率をよくするためにパイプラインという仕組みが使われています。 最近では、18段とかのパイプラインもあるようです。 ここで、18段のパイプラインのうち、実際に計算を行うのは2段か3段だったりします。残りの15段くらいは、命令や計算結果を読んだり書いたりしているだけです。 このパイプラインも、ほとんどはメモリの読み書き、それも命令の読み込みに多くが使われます。 であれば、CPUにしなければ、18段全部計算に使えるんじゃね?という話になりますね。 決まりきった計算を行うのに、いちいちメモ

    CPUはオワコン - きしだのHatena
  • 今後の負荷を RRDTool を使って予測してみよう

    斎藤です。 今日は、RRDToolを使って、今後かかる負荷を手軽に予測する方法をご紹介します。あわせて、プログラムと連携して性能限界を越えそうなサーバがあるかを判定してみます。人手ではまかないきれない数のサーバに対して、一台ずつ問題の予兆を調べるときなどにお試しください。 ※CentOS 6.3 (64bit) + RRDTool の2013/2/20頃の最新ソースを用いて試しています 「限界」を早く知りたい! ITインフラを運用している方の多くは、Cacti, Munin等で負荷を日々モニタリングされているかと思います。モニタリングしたデータを用いて今後を予測する際、どのようにされていらっしゃいますでしょうか?描かれたチャートの動きをもとに、経験と勘を駆使して「ヨイショ!」っとされている方も、いらっしゃるのではないでしょうか。 特に、ディスク容量やネットワークトラフィック等、根的な対策

  • CPU とキャッシュのはなし - graphics.hatenablog.com

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

    CPU とキャッシュのはなし - graphics.hatenablog.com
  • 2012-02-27のJS: Pot.jsリファレンス、WebStorm紹介、grunt

    JSer.info #58 - “ループ処理における CPU 負荷を抑え、UI にストレスを与えることなく実行できるライブラリ”であるPot.js + PotLite.jsのリファレンスがひとまず完成したそうです。 何か、アプローチが面白い感じだったり、最近これはPot.jsみたいなのが求められてる気がするなーとか思ったりして興味深い。 昨日、横浜JSTDDハンズオンで横浜JSTDDハンズオンでWebStormについて発表してきた | Web scratchという感じで最近良く使ってるJavaScript IDEのWebStormについての発表をしてきたので、興味ある方は見るといいです。

    2012-02-27のJS: Pot.jsリファレンス、WebStorm紹介、grunt