並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 689件

新着順 人気順

カーネルの検索結果161 - 200 件 / 689件

  • 第52回 Linuxカーネルのコンテナ機能 ― cgroupを使ったI/O制限 | gihyo.jp

    第37回で説明した通り、cgroup v1には様々な問題点が指摘されており、その問題を解決すべくcgroup v2が実装されました。 cgroup v1では、各コントローラがバラバラに実装されており、コントローラ間の連携が取れませんでした。これが原因で、リソースを制限するにあたって一番表面化していた問題が、ディスクI/Oに対して制限をかける際の問題でした。cgroup v1ではblkioコントローラでI/Oに対する制限をかけられましたが、限定的な制限しかかけられませんでした。 LinuxでのI/O コントローラ間で連携ができないため、blkioコントローラを使ったI/O制限が限定的になってしまう理由を説明するために、Linuxでディスクへファイル入出力する際の仕組みを簡単に説明しておきましょう。もう少し詳しい仕組みが知りたい方は『[試して理解]Linuxのしくみ』など、関連する書籍や文書を

      第52回 Linuxカーネルのコンテナ機能 ― cgroupを使ったI/O制限 | gihyo.jp
    • Slab キャッシュの使用量が増加した原因を SystemTap で調査した [DeNA インフラ SRE] | BLOG - DeNA Engineering

      2022.07.28 技術記事 Slab キャッシュの使用量が増加した原因を SystemTap で調査した [DeNA インフラ SRE] by Hidetaka Masuda #infrastructure #sre #troubleshooting #stateless-server #iaas #game-infrastructure #infra-quality IT 基盤部の増田です。新卒2年目で業務では主にモバゲーや社内向け SaaS のインフラ運用を行っています。 本記事ではサーバーのメモリ使用量増加の原因を SystemTap で調査したときの話を紹介します。 この記事を通して、手掛かりを元に少しずつ核心に近づいていく、謎解きゲームのような楽しさを感じていただければと思います。 問題発生 調査を開始したきっかけは、サーバーのメモリ使用量増加のアラートが頻繁に鳴るようになっ

        Slab キャッシュの使用量が増加した原因を SystemTap で調査した [DeNA インフラ SRE] | BLOG - DeNA Engineering
      • x86上のLinuxとFreeBSDにおいて、メモリキャッシュを無効にするカーネルモジュールを書いた話 - alphakai’s tech blog

        どうも、前回の記事が思っていたよりも反響があり、Blogを書くモチベーションが高まり、また記事を書くことにします。 ↑とか書いたんですが、このへんまで書いて50日くらい記事を書くのを放置していたので、ちゃっちゃと書き上げることにします。 今回はx86なCPUに存在するControl Registerのうち、CR0に存在するCache Disableフラグを操作するカーネルモジュールをLinux、FreeBSDのそれぞれ向けに作ったのでそれについて記述します。 それでは、続きからどうぞ。 はじめに、作成したカーネルモジュールのリポジトリへのリンクを掲載します。 Linux版のカーネルモジュール(procfsとして実装) cr0cd FreeBSD版のカーネルモジュール(キャラクタデバイスとして実装)cr0cd_fbsd そもそもこれはなに 一言で言うと、メモリのキャッシュ(L1, L2, L

          x86上のLinuxとFreeBSDにおいて、メモリキャッシュを無効にするカーネルモジュールを書いた話 - alphakai’s tech blog
        • 最近のLinuxカーネルに実装された3つのコンテナ関連機能 by @TenForward

          本記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 加藤と申します。SNSでは@ten_forwardとして活動しています。また、gihyo.jpで2014年からコンテナに関する連載LXCで学ぶコンテナ入門 -軽量仮想化環境を実現する技術を執筆していて、それをもとにした同人本 Linux Container Book (1) Namespace / Network 編も作っていますので、よろしくお願いします。 今日はKubernetesのことをよくご存知の方がたくさんお揃いですが、私は趣味でコンテナを使っていて、とくにカーネル周辺の技術に興味があるので、そのあたりだ

            最近のLinuxカーネルに実装された3つのコンテナ関連機能 by @TenForward
          • 情報数理科学VII

            機械学習手法の定式化を前半で学び、それらの基礎となるパラメータ推定理論を後半で扱う。 演習では講義で扱ったアルゴリズムの実践を行う。 Ⅰ.教師あり学習 1.最小二乗法 2.過学習と正則化 3.交差検証 4.正則化付き経験リスク最小化 5.カーネル法 Ⅱ.教師なし学習 1.ハードクラスタリング問題 2.ソフトクラスタリング問題 3.次元削減問題 Ⅲ.ベイズ推論 1.各問題の確率論的定式化 2.推定理論 Ⅳ.凸最適化 1.凸関数 2.双対問題 3.最適化法

              情報数理科学VII
            • Dockerって何? って聞かれたときの解説、の解説

              TL;DR Dockerは仮想化であるコンテナの実装の一種 ただし、広義のDockerはOCI系コンテナの総称 アプリの配布と実行の仕組みと思えばOK コンテナによりIaCや一貫したデプロイ、H/Wの効率的な利用がしやすくなる ※ コメントでいくつか指摘があったので記事を更新しました。ご指摘ありがとうございました! はじめに おそらく過去幾度となく生み出されたであろうDocker解説記事となります。正確には解説動画の解説記事。 というのも、Dockerあるいはコンテナはもはや当たり前、と言えるほど普及してるようにもSNSやブログとかだけ見てると思えますが、実際には話題は知ってるけど良く分かってない/業務で今度使う事を検討したいけどつまり何なの? って人もまだまだ多いです。 なので私が 「Dockerって何?」 と聞かれたとき答えてる内容を動画にしてみました。技術的な詳細を解説というよりは

                Dockerって何? って聞かれたときの解説、の解説
              • Linuxカーネルを拡張する「eBPF」のWindows対応を進めるマイクロソフト。eBPFの代表的なアプリ「Cilium」をWindowsへ移植

                Linuxカーネルを拡張する「eBPF」のWindows対応を進めるマイクロソフト。eBPFの代表的なアプリ「Cilium」をWindowsへ移植 eBPF(Extended Berkeley Packet Filter)はクラウドネイティブ関連で最も注目されている技術の1つです。 CiliumやCalicoといったCNI(Container Network Interface)のためのプロジェクトでeBPFが採用され、昨年10月にはKubeCon+CloudNative Non NA 2021と同時に「Cloud Native eBPF Day North America」が開催されています。 eBPFとはLinuxカーネルを書き換えることなくその内部の機能をフックし、フック先でサンドボックス化されたプログラムを実行することにより、カーネルをプログラマブルに機能拡張できる機能です。これに

                  Linuxカーネルを拡張する「eBPF」のWindows対応を進めるマイクロソフト。eBPFの代表的なアプリ「Cilium」をWindowsへ移植
                • eBPFプログラムを手軽にコーディング、ビルドし、コンテナ形式にパッケージングしてシェアできる「Bumblebee」オープンソースで登場

                  eBPFプログラムを手軽にコーディング、ビルドし、コンテナ形式にパッケージングしてシェアできる「Bumblebee」オープンソースで登場 Linuxカーネルのソースコードを変更することなく、カーネルの持つさまざまな機能をフックすることでカーネルに対してプラグインのように機能拡張を実現する技術「eBPF」が、昨年から急速に注目されはじめています。 参考:Google、Facebook、マイクロソフトらが、OSカーネルをプログラマブルに拡張できる「eBPF」の開発と発展を目指す「eBPF Foundation」を結成 そのeBPFを手軽にコーディング、ビルドし、コンテナ形式にパッケージングしてシェアできるツール「Bumblebee」がオープンソースで公開されました。 開発しているのは、APIゲートウェイのGloo EdgeやサービスメッシュのGloo Meshなどの製品を展開しているSolo.

                    eBPFプログラムを手軽にコーディング、ビルドし、コンテナ形式にパッケージングしてシェアできる「Bumblebee」オープンソースで登場
                  • eBPFでDockerの--passwordで入力したパスワードを盗む | κeenのHappy Hacκing Blog

                    κeenです。以前の記事の続きで、 /proc を監視するのではなくeBPFで取得してみます。ついでにRustのコードをeBPFで動かせるライブラリのayaも使ってみます。 以前の記事では /proc 以下の監視をビジーループで回すという力技で新しく作られたプロセスを補足していました。これだとCPU使用率が上がって美しくありませんし、何より原理的には見逃しもありえてしまいます。そこでカーネルの機能を使って全てのプロセスの作成を監視して低CPU使用率かつ捕捉率100%の実装を目指します。 eBPFとは? なんかLinuxカーネルでユーザの書いたコード動かせるやつです。私は説明できるほど詳しくないので適当にググって下さい。 1つやっかいな点として、独自のバイナリを動かすのでカーネル内で動かすコードはコンパイラがeBPFに対応したものでないといけません。また、カーネル内で動かすコードをユーザラン

                      eBPFでDockerの--passwordで入力したパスワードを盗む | κeenのHappy Hacκing Blog
                    • ようこそ、Kubernetes沼へ。商用サービスSREの現場から | IIJ Engineers Blog

                      社会人生活の半分をフリーランス、半分をIIJで過ごすエンジニア。元々はアプリケーション屋だったはずが、クラウドと出会ったばかりに半身をインフラ屋に売り渡す羽目に。現在はコンテナ技術に傾倒中だが語りだすと長いので割愛。タグをつけるならコンテナ、クラウド、ロードバイク、うどん。 筆者がIIJでパブリッククラウドビジネスを率いていた2010〜2015年頃、今後のITインフラはしばらくIaaSを中心に回っていくのだと考えていたものですが、Docker, Kubernetesという爆弾が投下されました。10年、20年は続くと思われたIaaSの時代がまさか早々に色あせて見えるとは。相変わらずIT業界にも思いもよらないことが突然起こるものです。これだからIT業界はおもしろい。 本連載は、現在IIJでSREを率いている筆者がどのようにしてSREチームを立ち上げ、Kubernetes沼へ飛び込み、悪戦苦闘し

                        ようこそ、Kubernetes沼へ。商用サービスSREの現場から | IIJ Engineers Blog
                      • Linus Torvaldsが語るカーネル開発とメンテナー、AIコーディング、そしてオープンであること ―Open Source Summit Japan 2023基調講演より | gihyo.jp

                        Linus Torvaldsが語るカーネル開発とメンテナー⁠⁠、AIコーディング⁠⁠、そしてオープンであること ―Open Source Summit Japan 2023基調講演より 「ぼくはあんまりパブリックな場で喋るのは好きじゃない。でもDirkが用意した質問に、ぼくがこの場(Linux Foudation主催のサミット)で答えるスタイルなら、リラックスしながらいろいろなことを議論できるし、聞いている人たちにも楽しんでもらえると思っている。ちなみにDirkの質問内容は事前に聞かされていないよ」―12月5日、東京・有明で開催された「Open Source Summit Japan」(⁠主催: Linux Foundation、12/5~12/6)のキーノートセッションには、久しぶりに来日した“⁠Linux Creator⁠”ことLinus Torvalds氏が登壇するとあって、早朝にも

                          Linus Torvaldsが語るカーネル開発とメンテナー、AIコーディング、そしてオープンであること ―Open Source Summit Japan 2023基調講演より | gihyo.jp
                        • 【Ubuntu日和】 【第13回】Ubuntuの商用サポートと、無償で使える「Kernel Livepatch」機能

                            【Ubuntu日和】 【第13回】Ubuntuの商用サポートと、無償で使える「Kernel Livepatch」機能
                          • プロセス情報をデタラメにする攻撃「Process Herpaderping」の内部構造を紐解く | 技術者ブログ | 三井物産セキュアディレクション株式会社

                            早速ですが、まずは以下の図1をご覧ください。 真ん中にメッセージボックスが表示されていますが、このメッセージボックスを表示するプロセスがどこから起動しているのか、つまり、実体EXEファイルの場所がこの図からわかるでしょうか? 図 1 プロセス情報がデタラメになっている様子 図1では、Process ExplorerやProcess Hackerで見る限り、プロセス名は「こんばんは!★」(拡張子なし)となっています。各ツールで表示されたプロセスのプロパティ情報を見ると、Process Explorerでは実体の場所がExplorer.exeであるかのように見えてしまっています。 一方でProcess Hackerでは、メッセージボックスのプロセスがMicrosoftの有効なデジタル署名を持っているかのように見えており、実体の場所が「こんばんは!★」を指しているように見えます。 では該当の「こ

                              プロセス情報をデタラメにする攻撃「Process Herpaderping」の内部構造を紐解く | 技術者ブログ | 三井物産セキュアディレクション株式会社
                            • A Beginner’s Guide to Linux Kernel Development (LFD103)

                              Learn how to become a Linux kernel developer and contributor with this free training course. This course is intended for developers who need to know about the Linux kernel development process and the explicit and implicit “rules of the road”. Through this course you will learn how to select and configure your development system, about Linux Kernel repositories and releases, Git basics including ch

                                A Beginner’s Guide to Linux Kernel Development (LFD103)
                              • Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita

                                Rust を勉強し始めたので冬休みの間に Linux の boot protocol を喋る x86ブートローダー(自称:Krabs)を作ってみました。この記事では、開発に至った動機や、作成した Krabs の特徴とか仕組み、開発中におきた嬉しかったことなどについて書きたいと思います。 Krabs とは Krabs は、Rustで書かれた x86/x86_64(Legacy BIOS) 向けの4段ロケット構成のチェインローダーです。 bzip2 で圧縮された ELF 形式のカーネルを起動できます。bzip2 圧縮されたイメージを解凍して、次に展開してでてきた ELF イメージを再配置してからの、カーネルの起動となります。 内部では libbzip2 の C ライブラリを利用していますが、それ以外は全て Rust で記述されています。 GitHub - o8vm/krabs: An x86

                                  Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita
                                • spliceを使って高速・省メモリでGzipからZIPを作る - knqyf263's blog

                                  良い話を含むので概要の最初だけでも読んでもらえると幸いです。この話が実用的かと言うと多分全然実用的ではないので理解しても仕方ないかなと言う気がします。 概要 ファイルフォーマット gzip 10-byteのヘッダ 拡張ヘッダ ファイル本体 フッタ(trailer) zip ローカルファイルヘッダ Data descriptor セントラルディレクトリエントリ セントラルディレクトリの終端レコード gzipからzipへの変換 gzipヘッダの処理 gzipファイル本体の処理 gzip trailerの処理 複数gzipファイルの連結 PoC まとめ 概要 先日Dirty PipeというLinuxカーネルの脆弱性が公表されました。 dirtypipe.cm4all.com この脆弱性の原理自体も面白いのですが、その前に報告者の組織で行っているGzipとZIPの処理で引っかかったのでまず先にそち

                                    spliceを使って高速・省メモリでGzipからZIPを作る - knqyf263's blog
                                  • 電子辞書は組み込みLinuxの夢を見るか?

                                    第53回 情報科学若手の回 #wakate2020 通常発表 「究極の趣味、Linux移植。その魅力をご覧に入れます。」

                                      電子辞書は組み込みLinuxの夢を見るか?
                                    • unameコマンドから始めるデバッグ&カーネルハック入門 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

                                      この記事はLinux Advent Calendar 2019の1日目の記事です。 はじめに 環境 おことわり uname(1) uname(1)が出力する内容 strace(1) gdb(1) bpftrace systemtap Kernel Hack Livepatch おまけ RHEL 8.1 CentOS 8 まとめ はじめに 本記事ではLinuxサーバのホスト名、Linuxカーネルのバージョン、cpuアーキテクチャなどのシステム情報を表示するuname(1)を利用してLinux環境でのデバッグとカーネルハックについて説明していきます。本記事ではコマンドやツールの使い方の説明ではなくて、それらを使ってどのようにデバッグするのかというところを説明します。 環境 ディストリビューションにはFedora 31(x86_64)を利用します。動作環境はQEMUやlibvirt、Oracle

                                        unameコマンドから始めるデバッグ&カーネルハック入門 - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
                                      • eBPFで実現するコンテナランタイムセキュリティ / Container Runtime Security with eBPF

                                        オンラインテックカンファレンス CloudNative Security Conference 2022 by CloudNative Days で発表した「eBPFで実現するコンテナランタイムセキュリティ」の登壇資料です。 https://event.cloudnativedays.jp/cnsec2022 資料内のURLは、PDFをダウンロードするとクリックで遷移できます。 eBPFはLinuxカーネルが提供する機能の一つで、近年、ネットワークやObservabilityといった文脈で注目を集めています。本セッションでは、セキュリティの観点から、eBPFを利用することで実現できることについて整理した上で、コンテナランタイムセキュリティを実現する具体的なeBPFツールとしてFalco、Tracee、Tetragonを紹介します。

                                          eBPFで実現するコンテナランタイムセキュリティ / Container Runtime Security with eBPF
                                        • カーネルコードの歩き方 ‐ ソースコードを読むための勘所を知る

                                          数千万行に及ぶLinuxカーネルのコードのうち、どんなときにどこのコードを読めばいいか、そのときに何を手がかりにすればいいか、などについてお話します。 本記事は、TechFeed Experts Night#19 〜 達人に聞く、Linuxカーネルコードの歩き方のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 「カーネルコードの歩き方」というタイトルでお話しする武内覚と申します。ふだんはsatと呼ばれています。社会人1年目から15年ぐらいカーネルの開発とサポートをずっとやってきました。今も必要に応じてカーネルソースを見ています。 本LTで学べるのは「Linuxのカーネルソースの読み方についての勘所」です。直接読んでいくというより、もう少しメタな

                                            カーネルコードの歩き方 ‐ ソースコードを読むための勘所を知る
                                          • LinuxのSCHED_DEADLINEスケジューラについての話 - TIER IV Tech Blog

                                            こんにちは、ティアフォーでパートタイムエンジニアをしている佐々木です。 今回はLinuxに搭載されているスケジューラの一つ、SCHED_DEADLINEについて紹介していきたいと思います。自動運転には多数のクリティカルタスクがあり、自動運転の安心・安全をしっかりと確保するためにはこのスケジューラを上手に設定することでこれらのクリティカルタスクが効率的にまた互いにコンフリクトすることなくリアルタイムに処理されることを担保する必要があります。なお、この記事で紹介するコードはLinuxカーネル5.4.0 (Ubuntu 20.04 LTSのベースカーネル) を元としています。 また、ティアフォーでは「自動運転の民主化」をともに実現していく、学生パートタイムエンジニアを常時募集しています。自動運転を実現するためには、Softwareに関してはOSからMiddlewareそしてApplication

                                              LinuxのSCHED_DEADLINEスケジューラについての話 - TIER IV Tech Blog
                                            • 「OSの最深部」が垣間見える「ディスクの暗号化」に関するCloudflareのカーネル改善記録

                                              データの暗号化はインターネットでサービスを提供する企業には欠かせませんが、パフォーマンスの低下を嫌って自社サーバーのディスクに暗号化を施していない場合もあります。そんなディスクの暗号化によるパフォーマンス低下を改善した事例をCloudflareのエンジニアであるIgnat Korchagin氏が公開しています。 Speeding up Linux disk encryption https://blog.cloudflare.com/speeding-up-linux-disk-encryption/ ストレージの構造は「アプリケーション」「ファイルシステム」「ブロックサブシステム」「物理ストレージ」といった層に分けることができ、ネットワークにおけるOSI参照モデルに似ているとのこと。高次元の層に対して低次元の層での処理は抽象化されており、それぞれの層で暗号化が可能です。通常、高次元の層に

                                                「OSの最深部」が垣間見える「ディスクの暗号化」に関するCloudflareのカーネル改善記録
                                              • TCP-BPF: Linuxはマイクロカーネルの夢を見るか|oraccha

                                                eBPFでcommit logを調べてみるといろいろと面白そうなものが出てくるな。例えば、TCP-BPF [netdev 2.2]。TCPコネクションのパラメータをBPFで操作できる。さらに最近(バージョン5.5以降)では、輻輳制御もeBPFで実装できるようになっているようだ。eBPFによりカーネルからどんどん機能を追い出してLinuxはマイクロカーネル化するのだという鼻息荒い発表も見かけるが(「eBPF - Rethinking the Linux Kernel」[QCon2020])、正直これが正しい方向性なのかよくわからない。面白いけど。 eBPFを使っているわけではないが、輻輳制御をユーザレベルで実装するという研究はいくつかある(「Restructuring Endpoint Congestion Control」 [SIGCOMM2018]、「Deploying Safe Use

                                                  TCP-BPF: Linuxはマイクロカーネルの夢を見るか|oraccha
                                                • トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備

                                                  Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2022-03-04 11:33 LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイ

                                                    トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
                                                  • 入門 モダンLinux

                                                    Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。本書は、前半でLinuxを使いこなす上で必要な基本知識を、後半で最新情報をまとめています。Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となっています。時代の変化に柔軟に対応できるLinux技術者を目指すなら必読の一冊です。 訳者まえがき はじめに 1章 Linuxの入門 1.1 モダンな環境とは何か? 1.2 これまでのLinuxの歴史 1.3 なぜオペレーティングシステムなのか? 1.4 Linuxディストリビューション 1.5 リソースの可視性 1.6 Linuxの全体像 1.7 まとめ 2章 Linuxカーネル 2.1 Linux

                                                      入門 モダンLinux
                                                    • Kubernetes で cgroup がどう利用されているか - VA Linux エンジニアブログ

                                                      はじめに 利用した環境 cgroup の階層構造 例:CPU やメモリの制限 例:PID 数の制限 例:CPU コアの排他的割り当て まとめ 執筆者 : 山下雅喜 はじめに cgroup とは、Linux カーネルの機能の1つであり、プロセスやスレッドが利用するリソースの制限や分離を行うための機能です。 cgroup は名前空間の機能と共に、Linux コンテナの根幹を成す技術の1つでもあります。 Kubernetes において、名前空間は PID 名前空間、ネットワーク名前空間、マウント名前空間などで利用者の目に触れやすい存在ではありますが、cgroup は相対的に目に付きにくいもののように感じています。 そこで今回は、Kubernetes のいくつかの機能を例に挙げ、cgroup がどう利用されているか見ていきます。 利用した環境 利用したソフトウェアおよびバージョンは次の通りです。

                                                        Kubernetes で cgroup がどう利用されているか - VA Linux エンジニアブログ
                                                      • 無料のLinux向けAndroidエミュレーター「Anbox」レビュー、カーネルをホストと共有するコンテナ方式

                                                        AndroidのエミュレーターとしてはBlueStacksやLDPlayer、Genymotionなどがありますが、いずれもホストOSとカーネルを共有しない仮想化方式を採用しているため、オーバーヘッドが生じてしまいます。無料でオープンソースの「Anbox」は、カーネル部分をホストOSのLinuxと共有するコンテナ形式を採用し、軽快な動作を目指したAndroidエミュレーターです。 Anbox - Android in a Box https://anbox.io/ AnboxはSnapパッケージマネージャーで配布されており、以下のコマンドを実行すればインストールすることができます。なお、今回はUbuntu 20.04でAnboxを利用しています。 sudo snap install --devmode --beta anbox インストールが完了するとアプリケーション一覧にAnboxのアイ

                                                          無料のLinux向けAndroidエミュレーター「Anbox」レビュー、カーネルをホストと共有するコンテナ方式
                                                        • 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
                                                          • NginxでのeBPFとSO_REUSEPORTを使ったQUICコネクション受信処理

                                                            はじめに2021年7月12日にNgnixブログに掲載された記事 “Our Roadmap for QUIC and HTTP/3 Support in NGINX” では、QUICとHTTP/3機能を2021年末にはメインラインへマージする計画が言及されています。現在のHTTP3/QUIC対応Nginxは、専用の開発ブランチ (nginx-quic)で開発が進められていますが、常に最新のリリース (7月26日時点で1.21.1)を取り込んでおり、HTTP3/QUIC以外の最新機能も利用可能です。筆者も、昨年から開発ブランチの動作を試しており、HTTP3/QUICでの大きな負荷をかけても良好なパフォーマンスを示しています。 さて、Nginxブログで言及されたHTTP3/QUICに関する機能の一つとして、“eBPFを使ったマルチプロセスアーキテクチャ” という項目がありました。QUIC特有の仕

                                                              NginxでのeBPFとSO_REUSEPORTを使ったQUICコネクション受信処理
                                                            • 詳解V4L2 (video for linux 2)

                                                              この記事は「自動運転システムをエッジデバイスに組み込むための技術」を3回に分けて紹介するTURINGのテックブログ連載の第3回の記事「詳解V4L2 (video for linux2)」です。 第1回の「C++でOpenCV完全入門!」、第2回の「OpenCVをNPPにした結果→10倍高速に!」もぜひご覧ください! はじめに こんにちは。TURING株式会社(以下、TURING)で、インターンをしている東大B3の中村です。 TURINGは、完全自動運転EVを作ることを目的に設立されたベンチャー企業です。自動運転システムとそれを搭載したEV車の開発を行っています。 TURINGの自動運転システムは、カメラからの映像入力を肝としています。これまではOpenCVを入力のインターフェイスとして利用していました。OpenCVを使用していたのは、 buildや使用法についての情報が多い コードが簡単に

                                                                詳解V4L2 (video for linux 2)
                                                              • Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita

                                                                この記事は、Linux シグナルの基本と仕組み (カーネルでの実装) について調査したことのまとめです。 シグナルは普段から利用しているものの仕組みについては理解してなかったので、カーネル勉強の題材として調べてみました。想像以上に複雑でボリュームがあったため、書き切れていない部分 (調査しきれなかった部分) もありますが、一通りの流れ (仕組み) は理解できたと思います。 なお、この記事は主に「■ 基本編」と「■ カーネル編 (v5.5)」で構成されています。仕組みを理解するには基本も知る必要があると思い、このような構成となっています。書籍レベルの基本を理解されている方は 「■ カーネル編 (v5.5)」 から読み進めることを推奨します。 ■ 基本編 はじめにシグナルの基本について、ざっと整理します。 なお、例で登場するコマンドや API (C 言語) の細かい使い方やエラー処理などは省き

                                                                  Linux シグナルの基本と仕組み (カーネル v5.5 時点) - Qiita
                                                                • RHEL9での変更点(セキュリティ編:Part1 SELinuxの無効化について) - SIOS SECURITY BLOG

                                                                  SELinuxの変更SELinuxに関しては、主な変更点として SELinuxで/etc/selinux/configで「selinux=disabled」が効かなくなる(ハングすることがあります)パフォーマンスの向上が挙げられています。今回は一番最初の「selinux=disabled」が使えなくなる(システムがハングすることがある)というのを見ていきたいと思います。 当たり前ですが、筆者の見解/立場ではSELinuxは無効化するべきでは無いので、無効化する前に「待て、考え直せ」とは言いたいです。 SELinuxを無効にしたときのハングアップまずは事象を見てみたいと思います。/etc/selinux/configで SELINUX=enforcing を SELINUX=disabled に設定し、再起動を行います。すると(タイミングの問題だと思いますが)下記のようにブート中にシステムが

                                                                    RHEL9での変更点(セキュリティ編:Part1 SELinuxの無効化について) - SIOS SECURITY BLOG
                                                                  • Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い

                                                                    LinuxにおけるSegmentation OffloadとはTCPなどのトランスポートレイヤのプロトコルが送信するデータをMTUに収まるように分割する処理(Segmentation)をNICのレイヤにオフロードすることによってスループットを向上させる技術です. Segmentation Offloadを使った場合, トランスポートレイヤのプロトコルはIPレイヤで許容される最大のサイズ(64KB程度)までのデータを1つのIPパケットで送信することができます. 受信側は逆にネットワークから入ってきたSegmentation済みのパケットをNICのレイヤで1つの大きなIPパケットに集約した上でプロトコルスタックの処理にかけます. これによってプロトコルスタックで処理されるパケットの個数を減らすことができるため, スループットが上がるという仕組みです. Linuxには仮想ネットワークデバイスとい

                                                                      Linuxの各種仮想ネットワークデバイスにおけるSegmentation Offloadの振る舞い
                                                                    • きっと明日から役立つeBPFのしくみ

                                                                      第15回カーネル/VM探検隊での発表. eBPFのローダの仕組みやVerifierの仕組みなどについて1つのeBPFプログラムを題材に掘り下げます.

                                                                        きっと明日から役立つeBPFのしくみ
                                                                      • Linux eBPFトレーシングのツール実装に必要な知識の体系化と動機

                                                                        カテゴリー DX (2) 一般 (58) 研究会 (6) 働き方 (4) 技術 (351) Edge AI (2) Edge Computing (12) Erlang (1) FIWARE (2) Fog Computing (9) Infiniband (31) Internet of Things (32) Key Value Store (17) Linux (3) Linux KVM (10) Machine Learning (4) RealTime Web (14) SRE (2) Webサービス (42) インフラ (7) コンテナ (3) ストレージ (92) データセンター (7) データベース (47) データ流通 (6) テレプレゼンス (2) ネットワーク (214) 仮想化 (110) 災害コミュニケーション (26) 空間情報 (30) 量子コンピューティング

                                                                          Linux eBPFトレーシングのツール実装に必要な知識の体系化と動機
                                                                        • トーバルズ氏が語ったLinuxカーネル開発者や開発の未来

                                                                          Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2020-07-02 06:30 The Linux Foundationの「Open Source Summit」が米国時間6月29日から開催されている。オンライン開催となった今回のイベントでは、VMwareの最高オープンソース責任者Dirk Hohndel氏と、Linuxの生みの親であるLinus Torvalds氏が再び登場し、Linux開発について多岐にわたる会話を交わした。 これら著名な両氏の対談は、最近リリースされた「Linuxカーネル5.8」のサイズが大きいことについてのHohndel氏の質問から始まった。その質問は、新型コロナウイルス感染症(COVID-19)のまん延で開発者が自宅で作業するようになったのが、カーネルサイズの大きさに影響を与えた可

                                                                            トーバルズ氏が語ったLinuxカーネル開発者や開発の未来
                                                                          • ペパボ トラブルシュート伝 - node プロセスの general protection fault を追う - abort(3) の意外な実装 - Pepabo Tech Portal

                                                                            セキュリティ対策室の伊藤洋也 @hiboma です。 業務中に、Haconiwa コンテナ で動くとある node プロセスが general protection fault ( 一般保護違反! ) を起こしてdmesg にログを残す現象を調べ、問題解決にあたっていました。その際の痕跡をまとめなおして記したエントリになります。 エントリの概要 本エントリでは、以下のような内容を扱います。 Haconiwa コンテナの node プロセスが general protection fault を起こしている ライブラリ関数 abort(3) の概要 abort(3) がプロセスを停止する方法の検証 node プロセスが abort(3) を呼び出すケース glibc x86系の abort(3) 実装が HLT 命令を呼び出し、general protection fault を起こすこと

                                                                              ペパボ トラブルシュート伝 - node プロセスの general protection fault を追う - abort(3) の意外な実装 - Pepabo Tech Portal
                                                                            • Linus Torvalds says Rust is coming to the Linux kernel

                                                                              Maintainer lack of familiarity won't be an issue, chief insists, citing his own bafflement when faced with Perl At The Linux Foundation's Open Source Summit in Austin, Texas on Tuesday, Linus Torvalds said he expects support for Rust code in the Linux kernel to be merged soon, possibly with the next release, 5.20. At least since last December, when a patch added support for Rust as a second langua

                                                                                Linus Torvalds says Rust is coming to the Linux kernel
                                                                              • システムプログラミングが得意なRustを学ぶなら今!『詳解Rustプログラミング』発売

                                                                                Rustは2006年に開発がスタートし、Mozillaが開発を支援。近年では開発者向けのQ&Aサイト「スタック・オーバーフロー」でも好きな言語ランキングで人気を博しています。 システムプログラミングに適した言語であり、CやC++からの移行を考えている方もいるのではないでしょうか。 『詳解Rustプログラミング』ではRustの基礎や独自機能だけでなく、システムプログラミングのノウハウについても解説されています。 【本書で取り上げるジャンル】 ・メモリ操作 ・ファイルとストレージ ・ネットワーク ・時間管理 ・プロセスとスレッド ・カーネル ・割り込みと例外処理 Rustをしっかり学びたいとき、読み通すことで確かな知識を得られる1冊となっています。 目次 第1章:はじめに 第1部:Rust言語の独自機能 第2章:言語の基礎 第3章:複合データ型 第4章:ライフタイムと所有権と借用 第2部:シス

                                                                                  システムプログラミングが得意なRustを学ぶなら今!『詳解Rustプログラミング』発売
                                                                                • Linux Kernel Teaching — The Linux Kernel documentation

                                                                                  Linux Kernel Teaching¶ This is a collection of lectures and labs Linux kernel topics. The lectures focus on theoretical and Linux kernel exploration. The labs focus on device drivers topics and they resemble "howto" style documentation. Each topic has two parts: a walk-through the topic which contains an overview, the main abstractions, simple examples and pointers to APIs a hands-on part which co