タグ

カーネルに関するrin51のブックマーク (68)

  • 第6回 Linux Kernelメモリ管理最新動向[その2] | gihyo.jp

    2012年6月6日~8日にLinuxCon Japan 2012 が開催されます。ここではLinux Kernelの最新技術の発表や議論がいろいろ行われるのですが、このカンファレンスを楽しむ手助けとなる記事を…ということで、最近のLinux Kernelのメモリ管理の以下のトピックについて、2回に分けて紹介しています。 第2回目の今回は、以下のテーマについて説明します。 ファイルシステム、デバイスと連携したエンハンス メモリ資源管理機能(cgroup) CleanCache ファイルシステム・デバイスと連携したエンハンス I/O less dirty throttling Linuxでは「ファイルシステムに書き戻す必要のあるデータを持ったページ」をdirty pageと呼びます。これらのページはファイルシステムにデータを書くまでは破棄できませんから、メモリ回収前にI/Oを行う必要があります

    第6回 Linux Kernelメモリ管理最新動向[その2] | gihyo.jp
  • Linux Magic SysRq Key 調査 - Qiita

    ■ はじめに Magic SysRq Key (以降、SysRqKey と省略) とはシステムの障害時やデバッグ等で利用できる Linux カーネルの機能 です。キーボード上から Alt + SysRq + b を実行することでシステムを再起動させたり、Alt + SysRq + c で意図的にカーネルパニックを発生させたり等、その他にも様々な機能を備えています。 前々から SysRqKey に興味があった (勉強したかった) ので、使い方と機能と実装について調査しました。調査は主にv4.19 時点の公式ドキュメント (Linux Magic System Request Key Hacks) とソースコードから行いました。 ■ 使い方と機能を知る まずは、使い方と機能について調査しました。 1. 使い方と機能の要約 SysRqKey はコマンドラインとキーボードの両方から使用可能 コマン

    Linux Magic SysRq Key 調査 - Qiita
  • 自作OSとかLinuxカーネルについて役立ちそうな本

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

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

    Huge Page まとめ この文書では、Linux カーネルの機能を中心に、 huge page に関連するメモ リ管理の機能についてまとめる。概観とキーワードの把握、およびリファレン スの提供を目的である。特に non-trasparent な huge page と transparent huge page の違いとそれらの境界を把握することをひとつの主眼としている。 そのため、詳細さと網羅性はスコープ外である。 前置き、または免責 Intel x86_64 上で Linux を動かす状況を想定している。アーキテクチャ 依存、カーネル依存な事項は、一部触れられている部分もあるが、それ以上 ではない。 Linux kernel について、バージョン依存、config 依存な部分はスコープ外 である。動作確認は CentOS 7.2 で行った。 目次 Table of Contents

    Huge Page まとめ
  • Linux の挙動を変更する 4 つの方法

    検証環境CentOS 8 で検証する。 ]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) ]# uname -a Linux localhost.localdomain 4.18.0-80.el8.x86_64 #1 SMP Tue Jun 4 09:19:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux カーネルコンフィグ異なるバイナリを作成するための設定。Linux は様々なハードウェアをサポートしており、また、機能もわんさかある。これらの機能をすべて実行バイナリに含めると、使ってない機能のせいでセキュリティリスクが無駄に高くなったりバイナリサイズがでかくなったり分岐処理が挟まって性能が落ちたりして都合が悪い。そこで、ソースコードレベルで機能の有効/無効を切り替えて専用のカ

    Linux の挙動を変更する 4 つの方法
    rin51
    rin51 2022/03/14
    module_param など
  • 第5回 Linux Kernelメモリ管理最新動向[その1] | gihyo.jp

    2012年6月6日~8日にLinuxCon Japan 2012が開催されます。ここではLinux Kernelの最新技術の発表や議論がいろいろ行われるのですが、カンファレンスを楽しむ手助けとなる記事を…ということで、最近のLinux Kernelのメモリ管理の以下のトピックについて、2回に分けて紹介したいと思います。 今回は、 NUMA対応 組込みシステム向けの新機能 次回は ファイルシステム、デバイスと連携したエンハンス メモリ資源管理機能(cgroup) CleanCache を取り上げます。 それぞれ、LKMLでどのような提案があって、提案の理由は何か? 現在はどうなっているのか? ということを簡単に紹介したいと思います。 NUMA対応 性能エンハンス機能として現在議論されているのが、NUMAマシン上のアプリケーションのチューニング機能です。現在、全く別の方式が有名ハッカー2人から

    第5回 Linux Kernelメモリ管理最新動向[その1] | gihyo.jp
  • プロセスにもslabにも記録されないメモリ使用領域を調べてたら、zfsのarcサイズ設定が原因だった話

    概要 自分で構築したProxmox VE(PVE)のwebコンソールを眺めていたら、 4GBメモリのVMを4台しか起動していないのに仮想ホストでは48GB中37GBもメモリが使用されていた。 それの原因を突き止めるために調べていたらzfsが原因ということが判明した。 何も知らず、何も気にせず、zfsでPVEを構築していたら気付かない事象だと感じたのと、 メモリについて知ったことが多いため記事にした。 調査1(ホスト再起動) 困った時はホスト再起動するのが一番ということで、まずは再起動。 再起動後はメモリをほとんど使用されていなく、VM起動してもVMのメモリ領域くらいしか使われていない。 これで解決したと思い放置していたら、いつの間にかメモリ使用量が増えている。 なので変なプロセスがいるとかではなく、何かが起きていることがわかった。 調査2(プロセス確認) まずはメモリ使用量を確認する。 /

    プロセスにもslabにも記録されないメモリ使用領域を調べてたら、zfsのarcサイズ設定が原因だった話
    rin51
    rin51 2021/11/09
    メモリについてのトラブルシューティングの手順が書かれている
  • Linux 5.6 Kernel Adds New System Call For "openat2" - More Extensible openat() - Phoronix

    Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 19+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phor

    Linux 5.6 Kernel Adds New System Call For "openat2" - More Extensible openat() - Phoronix
  • 3.6. インストール前に行うハードウェア・OS の設定

    rin51
    rin51 2021/08/05
    > U-Boot は「Starting kernel ...」というメッセージを表示しますがシステムはそれ以上出力することなくフリーズします
  • 無視できないフラグメンテーション問題への解答は?(1/2) - @IT

    1月版 無視できないフラグメンテーション問題への解答は? 小崎資広 2010/2/10 当初、今回はmemory compactionとtransparent hugepageという2つのトピックを取り上げ「Hugepage大特集」にしようと思っていたのですが、並列プログラミングカンファレンスに触発され(正確には、そのカンファレンスに参加できなくて悔しかったことに触発され)、後者を急きょ、ロックレスネタに差し替えて紹介します。 でもこれが大失敗で、調査が大変過ぎて泣けたうえに、スケジュールがとんでもないことに。人間、思い付きで行動してはいけないといういい見ですね。 Melの悲願なるか? Memory Compactionチャレンジ Mel Gormanは、Memory Compaction v1パッチシリーズを投稿しました。これは「Linuxメモリ管理の最先端を探る」で説明したAnti

  • Linux メモリ断片化 (外部フラグメンテーション) の概要と解消方法 - Qiita

    ■ 記事概要 Linux OS におけるメモリ断片化 1 ( 以降、断片化 ) について、調査したことのまとめ。 ■ 要約 断片化していると、空きメモリが十分あるにも関わらず、メモリ確保に失敗することがある。 断片化の影響を受けるのは、DMA ( Direct Memory Access ) のように物理メモリ領域を直接参照する必要があるもの ( 仮想メモリを使える場合は、物理メモリ領域が連続している必要がないため影響なし )。 断片化のレベルは /proc/buddyinfo や /sys/kernel/debug/extfrag/unusable_index から確認可能。 明示的に断片化を解消する方法は、OS 再起動と、# echo 1 > /proc/sys/vm/compact_memory がある。 ■ 物理メモリ領域について 断片化の話の前に物理メモリ領域について整理する。

    Linux メモリ断片化 (外部フラグメンテーション) の概要と解消方法 - Qiita
  • メモリのデフラグはどうやって動いてる? Linux Kernelの「Compaction」にみる断片化解消の仕組み

    Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。齊加氏は、Linux KernelコードからCompaction機能の仕組みや工夫点を調査した結果について発表しました。 メモリの虫い状態を緩和するデフラグメンテーション 齊加匠氏:「Deep Dive into the Linux Kernel メモリ管理におけるCompaction機能について」というタイトルで株式会社エヌ・ティ・ティ・データの齋加が発表します。 自己紹介です。所属は株式会社エヌ・ティ・ティ・データで、業務はアプリケーション開発です。OSは関係ないんですが、アプリケーション開発をしていて、主にSpringを使っています。好きなものはGolangやArch Linuxです。かねてよりメモリ管理に興味があって、Linux Kernelのメモリ管理につ

    メモリのデフラグはどうやって動いてる? Linux Kernelの「Compaction」にみる断片化解消の仕組み
  • GitHub - tkmru/linux-insides-ja: Japanese version of linux-insides book

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - tkmru/linux-insides-ja: Japanese version of linux-insides book
  • Linux Kernel の Makefile を解析する その1

    Linux Kernel の Makefile がどういう仕組みになっているのか前から知りたいと思っていました。 O'REILLY の 「GNU Make」 というの11章に Linux Kernel の makefile について少し解説があります。 もちろん makefile の仕組み全体は説明してないのですが、いくつかの興味深いトピックについて解説されていて、一読の価値があります。 まずはトップの Makefileの大枠から見てみます。 これは O'REILLY で解説されています。 トップのMakefileの100行目付近は以下のようになっています。(途中、あんまり関係ない部分は省略しています。) ifeq ($(KBUILD_SRC),) # OK, Make called in directory where kernel src resides # Do we want

    rin51
    rin51 2021/07/09
    KBUILD_OUTPUTについて
  • E.2.18. /proc/meminfo - Red Hat Customer Portal

    導入ガイド I. システムの基設定 Expand section "I. システムの基設定" Collapse section "I. システムの基設定" 1. キーボードの設定 Expand section "1. キーボードの設定" Collapse section "1. キーボードの設定" 1.1. キーボードレイアウトの変更 1.2. キーボードレイアウト表示器の追加 1.3. 一休みの設定 2. 日付と時刻の設定 Expand section "2. 日付と時刻の設定" Collapse section "2. 日付と時刻の設定" 2.1. 日付/時刻のプロパティのツール Expand section "2.1. 日付/時刻のプロパティのツール" Collapse section "2.1. 日付/時刻のプロパティのツール" 2.1.1. 日付と時刻のプロパティ 2.1.

    E.2.18. /proc/meminfo - Red Hat Customer Portal
  • LowMemoryKiller 〜AndroidのActivityが破棄される仕組み〜 - Qiita

    この記事は、LIFULLその2 Advent Calendar 2020の23日目の記事です。 今回は、Android低レイヤーな話を取り上げてみようと思います。 具体的には、OOM Killerでプロセスがkillされるのを未然に防ぐLowMemoryKillerの仕組みについてです。 ネイティブアプリの開発は、よりメモリの事を意識した開発が必要だなと日々感じていたので、もっと低いレイヤーで何が行われているかをちゃんと理解したいと思ったのがきっかけで、勉強してきた内容になります。 読んでいただけたらこの辺の内容を理解できる内容になっていると思います。 LowMemoryKillerの仕組み Activityが破棄される基準 onSaveInstanceState()でBundleに保存するデータは実際どこに保存されているのか Androidエンジニアじゃなくても、Androidの世界を

    LowMemoryKiller 〜AndroidのActivityが破棄される仕組み〜 - Qiita
    rin51
    rin51 2021/07/01
    艦これアプリがいつのまにかkillされてるのはこういうことか
  • Linuxカーネルの起動時トレースの話 - Qiita

    カーネル起動時トレース Linuxカーネルの起動処理は、様々なことが行われるのにそれをデバッグする方法はprintkだったり、逆にkgdbを外部デバッガから繋いだりと、結構な手間がかかっていました。カーネルが起動してしまえば、ftraceにperf, BPF, systemtapと複数の手段が使えるのに、起動時のデバッグは細かいことが出来ません。これは、起動時に指定できるオプションが大雑把になるのが大きな理由の一つでした。シェル芸ではないですが、1行プログラミングだけで様々なことをするのは大変です。 そこで導入されたのがExtra Boot Configuration (bootconfig)です。Bootconfigについては前回の記事を参考にしてください。 ここではカーネルコマンドラインのトレースオプションと、Bootconfigによって拡張されたBoot-time trace(CON

    Linuxカーネルの起動時トレースの話 - Qiita
  • Linuxの新しい起動オプション設定機能 Bootconfigの話 - Qiita

    カーネル起動オプション Linuxカーネルには、起動オプション設定方法としてkernel command lineというのがあります。Grub.confなどでCMDLINE=で書き込むあれです。 カーネルをコマンドに見立ててコマンドラインオプションを渡せる機能ですが、最近この機能に加えて、もう少し読みやすく書きやすいオプション設定方法としてExtra boot configuration通称bootconfigが追加されました。 Extra Boot Configuration Extra Boot Configuration(通称bootconfig)は、カーネルの起動オプションをsysctl.confに似た設定ファイルとしてカーネルに与えることが出来る機能です。 Extra boot configurationの有効化 Extra boot configurationはLinuxカーネ

    Linuxの新しい起動オプション設定機能 Bootconfigの話 - Qiita
  • Google Fuchsiaの新しいマイクロカーネルであるZirconの概観

    AI、ML、データエンジニアリングInfoQトレンドレポート-2023年9月 今回のポッドキャストでは、InfoQ編集部のメンバーとInfoQの友人たちが、毎年恒例のトレンドレポート作成のプロセスの一環として、AI、ML、データエンジニアリングの領域における現在のトレンドについて議論する。これらのレポートは、InfoQの読者に注目すべきトピックのハイレベルな概要を提供し、また編集チームが革新的な技術に焦点を当てるのに役立つ。InfoQ.comで閲覧可能なレポートとトレンドグ...

    Google Fuchsiaの新しいマイクロカーネルであるZirconの概観
  • 割り込みの後半部、Softirq、Tasklet、Work Queue

    2011年02月15日 情報科学類 オペレーティングシステム II 筑波大学 システム情報工学研究科 コンピュータサイエンス専攻, 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp> このページは、次の URL にあります。 http://www.coins.tsukuba.ac.jp/~yas/coins/os2-2010/2011-02-15 あるいは、次のページから手繰っていくこともできます。 http://www.coins.tsukuba.ac.jp/~yas/ http://www.cs.tsukuba.ac.jp/~yas/ ■今日の大事な話 割り込みの前半部と後半部の分離 Softirq Tasklet Work Queue 後半部の仕組みの選択 ■割り込み、後半部 割り込みの問題点 より優先度の高い処理よりも、優先度の低い割り込み処理が先に実行され