タグ

関連タグで絞り込む (290)

タグの絞り込みを解除

lInuxに関するy_uukiのブックマーク (891)

  • https://www.kernel.org/doc/Documentation/vm/transhuge.txt

  • Mackerel でみる Linux システムメトリック項目の見方・考え方 - えいのうにっき

    Mackerel について考えない日はないというくらいに Mackerel・Love な僕なわけですが(考えない日はあります)、Mackerel の Web 画面で日頃なにげなく見ている「システムメトリック」、みなさんはどのような意識を持って観察していますでしょうか。 ↑ https://home.a-know.me をホストしているサーバのシステムメトリックのようす。 ここでひとつおさらいをしておくと、「システムメトリック」とは、監視対象のサーバにインストールされた mackerel-agent が、それ単体で収集・投稿するメトリックのことです。一般的な Linux系OS に mackerel-agent をインストールした場合、以下のような項目がシステムメトリックとして Mackerel に投稿されます。 loadavg5 cpu memory disk interface files

    Mackerel でみる Linux システムメトリック項目の見方・考え方 - えいのうにっき
    y_uuki
    y_uuki 2017/02/02
    すごい労作だ
  • Linux シグナルの基礎

    TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の initsystemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚

    Linux シグナルの基礎
  • Linuxのうるう秒おさらい - めもおきば

    7/1 午前9時(JST)にうるう秒が挿入されますが、注意すべきポイントのおさらいです。 うるう秒って何よ NICTの資料の先頭7ページ目まで読んでください。 ざっくり言うと、現在の時計というのは「原子時計」が基準になっています。太陽の周りを回る公転周期に合わせて微調整するのがうるう年で、地球自体が回転する自転時間に合わせて微調整するのがうるう秒です。 現象としては、「月末」の日付が変わる直前に1秒追加されます。ただし、これはUTC(協定世界時)での話なので、日標準時では9時間の時差があるので朝9時(の直前)になるわけです。 時間の進みを表にするとこんな感じです。 UTC(協定世界時) JST(日標準時) うるう秒を知らない時計 2015年 6月30日 23時59分57秒 2015年 7月 1日 8時59分57秒 2015年 7月 1日 8時59分57秒 2015年 6月30日 23時

    Linuxのうるう秒おさらい - めもおきば
  • Linux デスクトップ環境 2017 - k0kubun's blog

    Linux デスクトップ環境 2016 - eagletmt's blogの人に影響を受けて自作PCLinuxデスクトップを使い始めてから約1年半が経ち、僕の使う環境が一通り満足な状態になったので今どういう構成なのか書いておく。 僕はKeynoteを使う時とか会社のマシンでmacOSも割と使う都合、基的に操作性がmacOSに近くなるようにしているので、macOSからLinuxに移行したい人の参考になるかもしれない。 *1 そもそも何故Linuxデスクトップを使っているのか 「苦労してmacOSに近づけるくらいなら最初からmacOS使えばいいじゃん」と言われそうだが、今この瞬間は大体以下の理由でLinuxデスクトップを使っている。 趣味で作ったスペックが高めの自作PCmacOSが入れられない *2 最新のmacOSではKarabinerが使えないが、Linuxでは自作のキーリマッパーが

    Linux デスクトップ環境 2017 - k0kubun's blog
    y_uuki
    y_uuki 2017/01/10
  • 100万ppsを受信するプログラムを書くのはどのくらい難しいのか?【翻訳】CloudFlare ブログ | FAworksブログ

    100万ppsを受信するプログラムを書くのはどのくらい難しいのか?【翻訳】CloudFlare ブログ 無料枠が充実していることでも人気なコンテンツデリバリネットワーク (CDN) を提供するCloudFlareは、最近1億1000万ドルの資金調達が発表され、ますます注目を集めている。そんなCloudFlareのブログから、ネットワークチューニングの知見を紹介したい。 原文:https://blog.cloudflare.com/how-to-receive-a-million-packets/ (2015-11-20) ※元記事の筆者には直接翻訳の許可を頂いて、翻訳・公開しております。 CC BY-SA 2.0 image by Bob McCaffrey 先週、何気ない会話の中で同僚がこう話すのをふと耳にした。「Linuxのネットワーク・スタックが遅いんだよ!1コアあたり5万pps以上

    100万ppsを受信するプログラムを書くのはどのくらい難しいのか?【翻訳】CloudFlare ブログ | FAworksブログ
  • LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita

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

    LinuxのI/OやCPUの負荷とロードアベレージの関係を詳しく見てみる - Qiita
    y_uuki
    y_uuki 2016/12/28
    わかりやすいまとめ
  • Linuxの不揮発メモリ対応について - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #(2019/6/12追記) 今なおこの記事を参照してくれる方がいらっしゃるのですが、現在は以下のスライドのほうが情報が新しいです。 記事は残しておきますが、新しい情報はこちらをご参照ください。 https://www.slideshare.net/ygotokernel/nvdimmlinux-137104084 #はじめに Linux Advent Calendarの24日目の記事として不揮発メモリの状況について記載したいと思います。今回はkernelのソースの中とかのあまり技術的に深いところは突っ込まず、概略レベルです。(深いと

    Linuxの不揮発メモリ対応について - Qiita
  • 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の日記
    y_uuki
    y_uuki 2016/12/19
    Linuxカーネルの実装にまで踏み込んだおもしろい話
  • Searchable Linux Syscall Table for x86_64

    Bluesky 🦋 / Mastodon 🐘 / Newsletter 📮 Searchable Linux Syscall Table Since 2013, this table lists the Linux system call numbers for the x86-64 architecture, with their name, arguments, and links to the manual and the implementation. Also, fuzzy search! The table is derived from the syscall_64.tbl file in the Linux 6.7 kernel source, and the syscalls.h header file. The generator is available on

  • Linux スケジューラーのコア実装とシステムコール - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに これは Linux Advent Calendar 2016 の第 11 日目の記事です。Linux のタスクスケジューラーのソースコードや関連するドキュメントなどを読んで分かったことをまとめました。とても長いです・・・ はじめにスケジューラーのアーキテクチャと重要な概念を紹介し、その後はスケジューラーコアとシステムコールの実装について分かったことを延々と述べます。調べきれなかったことや分からなかったことは TODO に残したので、コメント欄とかツイッターで教えてもらえると嬉しいです。間違いの指摘も大歓迎です。 ちなみに私が読

    Linux スケジューラーのコア実装とシステムコール - Qiita
    y_uuki
    y_uuki 2016/12/11
    ソースコードを追跡する記事はだいたい途中で諦めることが多いんだけどこれはわかりやすい
  • How SKBs work

    This first diagram illustrates the layout of the SKB data area and where in that area the various pointers in 'struct sk_buff' point. The rest of this page will walk through what the SKB data area looks like in a newly allocated SKB. How to modify those pointers to add headers, add user data, and pop headers. Also, we will discuss how page non-linear data areas are implemented. We will also discus

  • Linuxネットワークドライバの開発 - Handwriting

    この記事はLinux Advent Calendar 2016 9日目の記事です。 遅刻してしまい申し訳ございません。。。 とある事情があって1ヶ月半ほど独自NICのLinux向けのネットワークドライバを開発していた。 今回はARM用のデバイスドライバを開発した。NICはXilinx社のFPGAであるZYBOを用いて開発した。 まだ十分に実用段階というわけではないが、ひとまず独自NIC経由でのpingやiperfが通ったので、後学のために知見を残しておきたい(誰得だ、という感じだが)。 ソースコードはまだ公開されていないが、そう遠くないうちに公開する予定(たぶん)。 はじめに Linuxのデバイスには キャラクタデバイス - バイト単位のデータ通信 (e.g. シリアルポート) ブロックデバイス - ブロック単位のデータ通信 (e.g. ディスク) ネットワークデバイス の3種類がある。ネ

    Linuxネットワークドライバの開発 - Handwriting
  • 日経Linux - 別冊 目次 - これ一冊で完全理解 Linuxカーネル超入門:ITpro

    A4変型判 196ページ 定価 2,500円+税 ISBN 978-4-8222-3497-3 2014年10月16日発売 LinuxはサーバーやPCだけでなく、ハードディスクレコーダーなどの家電、スマートフォン、Raspberry Piなどの組み込みボードなどのOSとして利用されています。このようなさまざまなハードウエアで動作するのは、Linuxの中核となる“Linuxカーネル”が多くの機能を有しているおかげです。 書では、マンガや図を使って、カーネルの仕組みを誰にでも分かりやすく解説します。はじめてLinuxに触る人や初心者でも楽しく仕組みを理解できます。 また、最近含まれた新機能や、次世代機能も簡単な図解で説明します。知りたかった機能の解説が見つかるかもしれません。

    日経Linux - 別冊 目次 - これ一冊で完全理解 Linuxカーネル超入門:ITpro
  • libeatmydataを使ってpostfixを劇速にする [用法用量要確認] - Hateburo: kazeburo hatenablog

    libeatmydataというLD_PRELOADを使って、起動したプロセスのfsyncを無効化するライブラリがあったので試してみています。 libeatmydata - disable fsync and SAVE! fsyncがないと何が嬉しいかというとクラウドのようなIOまわりの環境が弱いところで、安全性は若干犠牲になりますが、パフォーマンスを稼ぐことができるようになります。 まず perlでfsyncを発行してどうなるかstraceをつかって確認してみます。 libeatmydataなし $ strace perl -MIO::Handle -e 'open(my $fh,">:unix","test.txt"); print $fh "test"; IO::Handle::sync($fh);' open("test.txt", O_WRONLY|O_CREAT|O_TRUNC,

    libeatmydataを使ってpostfixを劇速にする [用法用量要確認] - Hateburo: kazeburo hatenablog
    y_uuki
    y_uuki 2016/11/15
    それは危険なほどのスピード
  • LinuxのBPF : (1) パケットフィルタ - 睡分不足

    はじめに BPFの基礎 BPFの構造 BPFでのフィルタリング レジスタマシン LinuxでのBPF BPFを利用したパケットフィルタリング libpcapとBPF ここまでのまとめ 参考文献 その他参考URL はじめに BPFはBerkeley Packet Filterの略で,1993年に効率的なパケットフィルタリング手法として提案されました[1] *1. BPFの構成要素は大きく2つあって,一つがネットワークからパケットをキャプチャする部分,そしてもう一つがキャプチャした パケットをフィルタリングする部分です.BPFといった場合,後者のフィルタリング機構だけを指すことも多いです. FreeBSDなどのBSD系のOSでは/dev/bpf*という特別なデバイスがあって,このBPFを利用することができます.また, Linuxでもパケットフィルタリング(Linux Sokcet Filter

    LinuxのBPF : (1) パケットフィルタ - 睡分不足
  • あなたの知らない time(1) の世界 - kuenishi's blog

    自分が書いたプログラムのメモリ使用量を測定したいことがある。プログラムがOOM Killerによってお亡くなりになった場合や、ページフォルトをなくして高速化したい場合などだ。定常的に起動するサーバーのプログラムなら、sarや meminfo など(今なら Datadog とかだろうか)を使ってじーっと見つめるわけだ。もっとモダンにやるなら perf や DTrace を使ってもよいかもしれない。しかしこれらのツールは基的にプロセスIDを渡してサンプリングして外から覗く方法だ。 わたしのユースケースはデーモンプロセスではなく、 main から入って必要な計算をして、それが終わったら main を抜けるバッチジョブ(単にコンソールから実行して終わるまで待つ、いわゆる "Hello world!" 的なやつ)だ。これだと、プログラムが起動して終わるまでそこそこの時間で終わってしまって、外部プロ

    あなたの知らない time(1) の世界 - kuenishi's blog
    y_uuki
    y_uuki 2016/11/02
  • Coming Soon

    We're under construction. Please check back for an update soon.

  • Linux 4.9's Efficient BPF-based Profiler

    BPF-optimized profiling arrived in Linux 4.9-rc1 (patchset), allowing the kernel to profile via timed sampling and summarize stack traces. Here's how I explained it recently in a talk alongside other prior perf methods for CPU flame graph generation: Linux 4.9 skips needing the perf.data file entirely, and its associated overheads. I wrote about this as a missing BPF feature in March. It is now do

    Linux 4.9's Efficient BPF-based Profiler
  • Ftraceでカーネルの一部の処理を追いかける方法 - Qiita

    ftraceのfunctionトレーサやfunction graphトレーサを使うと、カーネルの関数呼び出し処理を追いかけることができます。 ftraceの諸機能をカーネルで有効にする方法については前回の投稿を参照してください。ただし今回書いている内容は、恐らくFedoraやUbuntuのカーネルではデフォルトで有効になっています。 #関数コールトレーサ ftraceにはLinuxカーネル内の関数呼び出しをトレースする関数コールトレーサ・関数コールグラフトレーサをサポートしています。 関数コールトレーサはfunctionを、関数コールグラフトレーサは function_graph を、/sys/kerne/debug/tracing/current_tracerに書き込むだけで利用できます。 これらの関数コール(グラフ)トレーサは、インライン展開されていないすべての関数呼び出しをトレースし

    Ftraceでカーネルの一部の処理を追いかける方法 - Qiita