タグ

linuxに関するhigedのブックマーク (134)

  • プログラマが入門書の次に読めばよさげな書籍 - Qiita

    はじめに 記事は2010年10月に某所で書いた記事を2016/2/2に編集したものです。 プログラムの入門書を読んだ上でプログラムを書いた経験があるけれども、そこからステップアップするために何をしていいのかわからないという人向けのをいくつか紹介したいと思います。なるべく平易な文書で書いてあるものを選びました。ただし、筆者の趣味の問題で、Linux/UNIX関連のが多いです。 「これらを読むだけで凄腕エンジニアになれます」などという無責任なことは言わないですが、飛躍するための1ステップとしては十分役立つのではないかと思います。 珠玉のプログラミング コンピュータシステムを使って物事を解決しようとするとき、どんな状況でどのようなデータ構造、アルゴリズムを使うことによって、結果がどうなったかという面白いエッセイを掲載しています。データ構造やアルゴリズムを扱ったは数式がたくさん出てきて一目

    プログラマが入門書の次に読めばよさげな書籍 - Qiita
  • OSS Message Pedia -mid:555-

    higed
    higed 2017/04/11
    oom-killer
  • CentOS7で利用するCPUの上限を設定する - 雑木林

    CentOS7に閉じた話ではないと思いますが、やろうと思ってできなかったのでメモしておきます。 kernelのコマンドラインオプションを追加することは変わってませんが、 「 maxcpus 」ではなく、「 nr_cpus 」で指定しないといけないみたいです。 (あとメモリを制限する場合は「 mem 」で制限できます。) ちなみにCentOS6まではGrubだったので、/boot/grub/grub.conf を直接編集しましたが、 CentOS7からGrub2になり、/etc/default/grub を編集することになってます。 使用するコアを1つ、1GBメモリに制限する場合(nr_cpus=1 mem=1024mを追加) # vi /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /

    CentOS7で利用するCPUの上限を設定する - 雑木林
    higed
    higed 2017/04/05
    ブートローダでLinuxのリソースを制限する方法。grub2のconfigでパラメータを追加すれば良い。
  • CentOS6へのRedmine3インストール - Wikiducca

    概要 CentOS6 に Redmine3 をインストールする。 内容 必要なものを yum でインストー ル # yum install gcc gcc-c++ \ httpd httpd-devel \ mysql-server mysql-devel \ openssl-devel \ readline-devel \ zlib-devel \ curl-devel epel リポジトリ追加 & 必要なものを yum でインストー ル # yum install epel-release # yum install --enablerepo=epel libyaml libyaml-devel nodejs npm Ruby インストール # cd /usr/local/src/ # wget https://cache.ruby-lang.org/pub/ruby/2.0/ruby

  • プロファイラのしくみ steps to phantasien t(2007-08-23)

    UNIX 偏向文書 artu の中で "Measure Before Optimizing" と説く Raymond は, 同時にプロファイラの計測機構 (instrumentation) がもたらすノイズについて注意を促している. 私のプロファイラ信仰に不安が翳を落とす. gprof ノイズはさておき, そもそもプロファイラはどんな仕組みで速度を測っているんだろう. gprof のマニュアル によると, GNU 一族のプロファイラは次のように実装されている: まず "-pg" オプションつきの gcc でソースをコンパイルする. この指示を受けたコンパイラは各関数の冒頭に "mcount" という名前の関数呼出しを加える. リンクする C のランタイムも専用バージョン (gcrt0.o) に差し替わる. このランタイムは裏で profil() 関数を使いタイマを仕掛ける. そのタイマは発

  • Measure before Optimizing

  • Man page of MADVISE

    Section: Linux Programmer's Manual (2) Updated: 2014-12-31 Index JM Home Page roff page 名前 madvise - メモリー利用に関するアドバイスを与える 書式 #include <sys/mman.h> int madvise(void *addr, size_t length, int advice); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): madvise(): _BSD_SOURCE 説明 madvise() システムコールは、アドレス addr からはじまる length バイトのメモリーブロックのページング入出力をどう扱えば良いか、 カーネルにアドバイスする。 これを用いると、 アプリケーションからカーネルに、 マップされたメモリーや共

  • Netflix at Velocity 2015: Linux Performance Tools

    There are many performance tools nowadays for Linux, but how do they all fit together, and when do we use them? At Velocity 2015, I gave a 90 minute tutorial on Linux performance tools. I’ve spoken on this topic before, but given a 90 minute time slot I was able to include more methodologies, tools, and live demonstrations, making it the most complete tour of the topic I’ve done. The video and sli

    Netflix at Velocity 2015: Linux Performance Tools
  • sar で収集したリソース使用情報が sadf コマンドで TSV として出力できる - 映画は中劇

    sar が出力するテキストファイルは、機械可読性が低いため、リソース使用情報のレポートを作る際などに、難渋していました。 kSar というサードパーティのツールを使ってグラフを描いたり、 CSV を出力したりできるのですが、いちいち GUI ツールを立ち上げるのが手間です。 で、毎度ブーブー文句を言っていたのですが、ついこないだ、 sysstat に sadf というコマンドが付属していることを知りました。こいつは、 sar のバイナリデータを、 TSV や XML など、機械可読性の高い形式で出力してくれます。欲しかったのはこれだ! sar とは: リソース使用情報を収集するツール sar とは、リソース使用情報を収集する Linux 用のツールで、 sysstat というパッケージの一部として配布されています。 取れる情報は、CPU使用率、ディスクIO、NICごとのデータ転送量など、リ

    higed
    higed 2017/03/22
    sarの出力をsadfでグラフの入力データにバッチ出力できる。ksarを使わなくて済む。
  • https://events.static.linuxfound.org/sites/events/files/slides/20151006-linux-performance-profiling-monitoring_0.pdf

    higed
    higed 2017/03/22
    Linuxで低レベルからアプリケーションレベルのパフォーマンス解析に使えるツール・プロファイラの紹介
  • 原理原則で理解するbashの仕組み - Qiita

    はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba

    原理原則で理解するbashの仕組み - Qiita
  • ld.so - システム管理コマンドの説明 - Linux コマンド集 一覧表

    プログラム ld.so と ld-linux.so* はプログラムに必要な共有ライブラリを見つけてロードし、 プログラムの実行を準備してから起動させる。 Linux のバイナリは、コンパイルの時に ld に対して -static オプションが指定されていない限り、動的リンク (実行時リンク) が必要となる。 プログラム ld.so は a.out バイナリを扱う。 これはずっと昔に使われていたフォーマットである。 ld-linux.so* (libc5 では /lib/ld-linux.so.1 , glibc2 では /lib/ld-linux.so.2 ) は ELF バイナリを扱う。 このフォーマットは多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作し、 同じサポートファイルとプログラム ldd (1), ldconfig (8), /etc/ld.so.co

  • LinuxのCPU使用率の%stealについて - Qiita

    はじめに Linux で採取できるCPU使用量(率)の情報として、%user や %sys 等に加えて %steal という量がある。これが追加されたのは、仮想化が広く使われはじめた10年くらい前だろうか。筆者は Xen を調べていて気づいたのだが、もっと前にs390のために追加されたのかもしれない。当時、ESXの場合も含めて調べていたのだが、最近、KVMの場合にどういう実装になっているのか、ふと気になって軽く調べてみたのでメモ。 CPU使用率の計算 まず最初に、sar や vmstat や mpstat 等、さまざまなツールでCPU使用率を取得することができるわけだが、どのような情報を元に、どのような計算を行って算出しているのか? まず、kernel内ではboot以後の各種実行モードのCPU時間を分類して積算値として保持している。user モード、特権モード、割り込み処理に使った時間..

    LinuxのCPU使用率の%stealについて - Qiita
  • 詳解 システム・パフォーマンス

    TOPICS System/Network 発行年月日 2017年02月 PRINT LENGTH 784 ISBN 978-4-87311-790-4 原書 Systems Performance FORMAT PDF EPUB 書はエンタープライズ環境とクラウド環境の両方を対象としたオペレーティングシステムおよびオペレーティングシステムのコンテキストにおけるアプリケーションのパフォーマンス分析と向上について解説します。主にLinuxとSolarisベースのオペレーティングシステムに含まれるツールとその使用例やチューニング可能パラメータの設定を通じてシステムパフォーマンスを引き出す手法を学びます。CPUやメモリ、ファイルシステムなど個別テーマごとに設けられた各章の前半では、用語、考え方、方法論について述べ、後半では実装の具体例を示しつつ、アーキテクチャ、分析ツール、チューニングなどを解

    詳解 システム・パフォーマンス
  • yumリポジトリ一追加リスト 完全版 - Qiita

    yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    yumリポジトリ一追加リスト 完全版 - Qiita
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

    この記事は Kobe University Advent Calendar25日目の記事です。 低レイヤー技術(後述)をこれから学びたい人向けの入門記事です。 自身の経験を踏まえ、より多くの人達にこのレイヤーに興味を持ってほしくて書きました。 決して卒論がやばくてAdvent calendarのネタが作れなかったわけでは(ry なぜこんな記事を書いたか いわゆるシステムプログラミングのような低レイヤー(と言って差し支えない)ジャンルって一体何から始めれば良いのかいまいちピンと来ないし、何が面白いのかも分からないと思われている事が多いと思います。 にもかかわらず低レイヤーの魅力や学び方の指針みたいな物を示した、いわゆる入門記事ってかなり少ないんですよね。 記事はこれからシステムプログラミングを始めたい方や、既にかじってみたが中々先が見えてこない、将来何の役に立つのか不安という方達に読んでい

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
  • Linux source code (v6.11) - Bootlin

  • LinuxのARPとL2スイッチのお話 - masayoshiの日記

    この記事は、はてなエンジニアアドベントカレンダー2016の12月19日の記事です。 developer.hatenastaff.com 昨日はid:taketo957くんの 10ms以下のレスポンスタイムを支える継続的負荷テスト - taketo957の日記 でした! Webオペレーションエンジニアのid:masayoshiです。 2016年に入社後、基盤チームとして仮想化、ネットワーク周りを中心に見ています。 さて、この記事ではLinuxのARPの挙動とその挙動から起こった問題を紹介しようと思います。 長々と記事を読みたくない人向けに結論をまとめるとLinuxのARPはTCP通信で使われ続ける限りキャッシュが飛ばないという挙動になるので、複数のL2スイッチにまたがったセグメントや非対称ルーティングをしている場合は気をつけましょうという話が書かれています。 今回紹介する事例自体は別に新規性

    LinuxのARPとL2スイッチのお話 - masayoshiの日記
  • Linux スケジューラーのコア実装とシステムコール - Qiita

    はじめに これは Linux Advent Calendar 2016 の第 11 日目の記事です。Linux のタスクスケジューラーのソースコードや関連するドキュメントなどを読んで分かったことをまとめました。とても長いです・・・ はじめにスケジューラーのアーキテクチャと重要な概念を紹介し、その後はスケジューラーコアとシステムコールの実装について分かったことを延々と述べます。調べきれなかったことや分からなかったことは TODO に残したので、コメント欄とかツイッターで教えてもらえると嬉しいです。間違いの指摘も大歓迎です。 ちなみに私が読み始めたきっかけは、スケジューラーのアーキテクチャ、スケジューリングアルゴリズム、スケジューリングアルゴリズムの切り替え方、nice 値やプロセッサアフィニティがスケジューリングに及ぼす影響、プリエンプションの流れ、マルチプロセッサにおけるタスクのロードバラ

    Linux スケジューラーのコア実装とシステムコール - Qiita
  • screenコマンドの要点 - Qiita

    linuxサーバーにSSHログインして何か作業をしていて、突然通信が途絶えたり、PCの電源が落ちたりすると、実行中の処理が中断されてしまいますが、screenを使うとそういう不安から開放されます。 詳細はmanに書いてあるので、ここでは最低限覚えておくといい事だけを書きます。 用語 語句 意味

    screenコマンドの要点 - Qiita