タグ

linuxに関するpandazxのブックマーク (40)

  • 自作OSとかLinuxカーネルについて役立ちそうな本

    はじめに なんらかの理由によってOSやOSカーネルに興味を持つ人は多々います。しかし、その次のステップとしてどんなを読めばいいんだろうと思っている人はこれまたいっぱいいます。そこで、長年Linuxカーネルにかかわってきた筆者がこれまでに読んでよかったと思うものについてここの列挙しました。紹介するのはだけであって、記事は省いています。 OSそのものに興味を持った人は、その後に興味の方向が次のような二つに分かれることが多いと筆者は考えています。 オレオレOSを作りたい 既存のOSを改造したい この仮説をもとに、それぞれについて筆者がかつて真面目に読んだの中から「自作OS」および「Linuxカーネル」というキーワードでよかったものを挙げておきます。Linux以外の既存OSについては語れるほどの知識はないので書いてません。 筆者について の良し悪しは人によってさまざまなので、筆者がどういう

    自作OSとかLinuxカーネルについて役立ちそうな本
  • Linux 素人でも出来るカーネルチューニングで性能UP|ギブ&テイクSE|note

  • CentOSのインストールが止まる -> 解決した - 検討!目論見検討委員会

    以前netBSDを入れて使っていたサーバに、CentOSを入れることにした。 フツーのディストリビューションを使ってみたかったのである。 マシンスペックは以下。この日記のどこかのページのコピぺ。 以前メインで使ってたマシン。 CPU:AMD Athlon XP 1700+ (686-class) 1466.79MHz(dmesgより) HDD:160+40G Memory:767MB(dmesgのtotal memoryより) MB:ESCのL7VTA。中身はVia製品が使われている NetBSD ドキュメンテーション: カーネルを参照しながら。ってかそのまんまなんだけど。 インストール手順 インストールが止まるまでの手順。 CentOSのイメージを焼いたディスクからブート。 boot:linux textでインストール。 そのまま進めていき、「Welcome to CentOS!」の画面

    CentOSのインストールが止まる -> 解決した - 検討!目論見検討委員会
  • BPF Performance Toolsを読んだ感想 - go_vargoのブログ

    BPF Performance Toolsを読んだので、感想ブログです。 先に感想を言っておくと「最高」でした。 BPF Performance Toolsとは? NetflixでKernel・パフォーマンスにかかわるチューニング・アーキテクチャを専門にしているBrendan Greggさんが書いたです。BPFのiovisorというTracing分野の第一人者でもあります。 www.brendangregg.com 2019年12月に発売したばかりなので、BPFの分野では最新のでしょう。他の著書に有名なとして(日語版の)「詳解システム・パフォーマンス」があります。 BPF Performance Toolsは「詳解システム・パフォーマンス」第二弾と言えるかもしれません。ちなみにページ数は880Pあり、Kindleで表示される読み終わるための平均的な時間は「27時間30分」で、大作R

    BPF Performance Toolsを読んだ感想 - go_vargoのブログ
  • perfから読み解くプロセッサトレースの仕組み (perf + Intel PT/ARM CoreSight) - Qiita

    諸事情でperfのソースコードを読んだのでせっかくなので簡単に解説。 今回はperfの中でもイベントの記録を担当するperf recordコマンドの処理を見ていく。特に近年はCPUがトレース機構を持っておりperfもその恩恵に預かっているため、記事ではperf recordの中でもCPUのプロセッサトレース機構との連携部分に注目したい。 音を言えば、perfよりIntel Processor Trace(Intel PT)やARM CoreSightといったプロセッサトレース自体に興味があるのだが、これらはLinux上ではperfイベントとして実装されているためperfコマンドの実装を皮切りに解析する腹づもりだ。 1. Perf アーキテクチャ 元々perfはPerformance counters for Linux (PCL)という名前の前身が存在しており、CPUの提供するパフォー

    perfから読み解くプロセッサトレースの仕組み (perf + Intel PT/ARM CoreSight) - Qiita
  • Linuxでネットワークをモニタするコマンド「ss」の使い方まとめ

    Tecmint.comは9月19日(米国時間)、「12 ss Command Examples to Monitor Network Connections」において、Linuxで利用できるネットワークソケット情報の表示コマンドであるssコマンドの使い方を紹介した。ssコマンドでよく使われるオプションなどが簡単にまとめられている。 記事で紹介されている主な使い方は次のとおり。

    Linuxでネットワークをモニタするコマンド「ss」の使い方まとめ
  • 6万ミリ秒でできるLinuxパフォーマンス分析 | Yakst

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

  • シェルスクリプトで便利な小技 - Qiita

    こちらも自分の blog からの転載 シェルスクリプトを作成する時に知っておくと便利な小技たち exec > ファイル 以降の標準出力を全て ファイル に出力するので この設定をしておくと簡単な実行ログが取得出来る。 同様に exec 2> ファイル とすると 標準エラー出力が全て ファイル に出力されるので エラーログが取得できる。 当然 exec > ファイル 2>&1 とすれば 標準出力も標準エラー出力も取得できる。 ファイル に /dev/null を指定すれば スクリプト実行中の出力は全て抑止されるので、cron (8) から実行される場合などでは便利な場合もある。

    シェルスクリプトで便利な小技 - Qiita
  • 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の上限を設定する - 雑木林
    pandazx
    pandazx 2018/03/06
    CPUコア数の制限
  • quotaを使用しないディレクトリ単位の容量制限 - とあるネットワーク管理者の苦悩

    quotaを利用した容量制限はよく見かけるのでもっと手軽に容量制限したい場合の方法。 以下の流れで設定を行う。 (1)ディスクスペース用のファイル作成(このファイルサイズだけ容量制限する) (2)ファイルシステムの作成 (3)マウントスペースの作成 (4)ファイルシステムのマウント ○5Gの容量制限ディレクトリを/home/aaaに作成する場合 [root@centos ~]# dd if=/dev/zero of=/home/aaa.fs bs=1G count=5 [root@centos ~]# mke2fs /home/aaa.fs [root@centos ~]# mkdir /home/aaa [root@centos ~]# mount -o loop /home/aaa.fs /home/aaa ※起動時に自動的にマウントする場合 [root@centos ~]# vi /

    quotaを使用しないディレクトリ単位の容量制限 - とあるネットワーク管理者の苦悩
  • 新人達を1ヶ月でガチvimmerにした方法 - Qiita

    vim以外のエディタでコード書くと私の手は産まれたての子鹿みたいになります。 効率よくコーディングをしてもらうために、新人やvimを学びたい人にvimの研修を実施しています。今回は研修で非常に有効だった内容についてまとめておきます。 ※ なんだか誤解を生んでしまっているようなので追記しておきます。vimの研修は新人研修の一環として行ったわけではなく、vimを使って開発をしたがっていた新人へテスト駆動開発の研修を実施した際に並行して盛り込んだだけです。会社がvim強制とかではないのでご安心ください。言葉足らずで申し訳ありません。 2つの繰り返しキーの存在を認識させる vimは一度実行したコマンドの組み合わせを記憶する.(ドット)とfを使った移動の際のキーストロークを記憶しておく;(セミコロン)があります。これらを駆使することで他のエディタよりも高速な編集作業を行えます。 セミコロンはus配列

    新人達を1ヶ月でガチvimmerにした方法 - Qiita
  • Linuxのプロセス間通信 - Qiita

    この記事について LinuxのIPC(プロセス間通信)を紹介します。 プロセス間通信とは Inter Process Communication(IPC)はプログラムの実行単位であるプロセスの間で行われるデータ交換のことを指します。プロセスの依存関係は可能な限り疎結合になるようOSで管理されています。そのため、IPCLinux OSの機能を経由して行う必要があります。 OSがプロセスに提供するデータ交換の方法はひとつだけではありません。それぞれ特徴のある多彩な方法を提供しています。 ここで紹介するのは以下の5つです。 共有メモリー セマフォ マップドメモリー パイプ ソケット通信 (他にありましたらコメントで教えていただければ幸いです。) それでは、見ていきましょう。 共有メモリ プロセス間で同じメモリを共有します。 共有メモリの最大の利点はそのアクセススピードにあります。 一度共有メモ

    Linuxのプロセス間通信 - Qiita
  • OpenCvSharpをつかう その14(Debian wheezyで動かす) - schima.hatenablog.com

    3年ぶりの「OpenCvSharpをつかう」シリーズ再開です! OpenCvSharpLinuxで動かすことについては、大昔に断片的に書きましたが、最後まで通しで書いてみます。記憶を頼りに書いているので、当は詰まった箇所が抜けているかもしれません。 OpenCV / OpenCvSharpのバージョンは2.4.5とします。 OpenCvSharpをつかう 記事一覧 OpenCVのインストール aptはちょっと古いのでソースから入れます。ソース取得。 wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.5/opencv-2.4.5.tar.gz tar xvzf opencv-2.4.5.tar.gz cd opencv-2.4.5 OpenCVは最低限の構成で行きますが、これくらいは入れないと

    OpenCvSharpをつかう その14(Debian wheezyで動かす) - schima.hatenablog.com
  • 裏セグメントからyumやwget等したい場合の設定

    裏セグメントのホスト(たとえばVPCのEIPついてないのとかDBNASなど裏においときたいやつ) から名前解決とかメールとかyumとかwgetとか時刻同期とかメールしたい! という場合の設定についてざっくりまとめさせていただきます。 とりあえず2パターンあります。 NATする(AWSの場合NATインスタンスを使う)パターンと、 グローバル通信できる管理サーバにソフトウェアを入れて解決するパターン。 ★NATする(AWSの場合NATインスタンスを使う)パターン db側はInternetGatewayつけてなくてパブリックでなくローカルなルーティングな場合、 名前解決をはじめ外に出られないです。(※) NATインスタンスを作るのも勿体ないと、複数NICがついたwebをnat化しようとしたところ、 マルチインタフェースなインスタンスはNATの出口に出来ない模様でした。 (※)最近新しくとったア

  • GRUBの起動メニューを表示する

  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

    大人気TBSドラマ、「逃げるは恥だが役に立つ」でも話題になったインフラエンジニアという言葉ですが、今ではインターネットインフラを知らないまま開発をするのも難しい状況になっています。クラウドが一般化されたからといって単にリソースの調達が簡単になっただけで、つまりハードウェアの知識が無くても何とかやっていけるようになっただけであり、インフラの知識が要らなくなったなどということは全くなく、むしろdevopsの掛け声とともに、ソフトウェア開発者にインフラを見なければならない新たな責務が課せられたという、なかなか痺れる状況なのだろうと思います。 そういった中で、先日のさくらインターネットのAdvent Calendar最終日に「いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方」という記事を書かせて頂きましたが、今回はLinuxサーバの「負荷」と、ロードアベレージに関して、掘り下げ

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
  • バックグラウンド実行nohupとdisownの違い - Qiita

    コピペ http://za.toypark.in/html/2007/06-29.html 以下引用 nohupは良く使っていた。最近になってdisownを知った。違いは、プロセスの起動前に使うのがnohup、起動後に使うのがdisown。これだけだと判りにくいので、例を考えてみる。プログラムを作って、起動させる。

    バックグラウンド実行nohupとdisownの違い - Qiita
  • CentOS で sudo 時に実行ユーザーのPATHを引き継ぐ - Qiita

    sudo -sすればとりあえずPATHが通ったのだが、それって運用の観点から見たら良くないわ。 って事で、調べました。 環境 ゲスト: CentOS 6.2 ホスト: MacBookAir MacOS 10.8 VM: Parallels Desktop 9 for mac ゲストを対象とする。 /etc/sudoers を編集

    CentOS で sudo 時に実行ユーザーのPATHを引き継ぐ - Qiita
  • あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー

    お題は「あるプロセスがどの程度の物理メモリを利用したかを知りたい」です。 手っとりばやく知りたいときは top や ps などで調べると良いでしょうか。例えば手元の coLinuxtop して M キーでソートすると emacs のプロセスが最もメモリを使っているようです。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1923 naoya 18 0 23120 19m 3096 S 0.0 2.0 0:55.40 emacsメモリサイズは VIRT と RES がありますが、VIRT は Virtual の略で仮想メモリ領域のサイズ、RES が Resident の略で、実際に使用している物理メモリ領域のサイズ。19MB ほど使っているようです。この emacs のプロセスが利用するメモリ領域はざっくり 20MB 程度と

    あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー
  • プロセス毎のメモリ使用量を調べるコマンド

    しかし、このコマンドの結果が見づらい。なので使用量の多い順にソートしてトップ10を出してみると下記のようなコマンドになります。

    プロセス毎のメモリ使用量を調べるコマンド