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
この文書はなんですか? この文書は*nix系のシステムにおけるプロセスやシグナルなどについて説明することを目的に書かれました。「プロセスとかよくわかってないからちゃんと知りたいな」みたいなひとたちが想定読者です。 書いているあいだは gist で管理されていたのですが、ボリュームが大きくなったので github で管理するように変えました。 目次 導入 プロセスの生成 プロセスとファイル入出力 ファイルディスクリプタ preforkサーバーを作ってみよう ゾンビプロセスと孤児プロセス シグナルとkill プロセスグループとフォアグランドプロセス epub と pdf epub化したもの、pdf化したものが release ディレクトリに入っています。thanks to mitukiii & moznion! ライセンス この 作品 は クリエイティブ・コモンズ 表示 - 継承 3.0 非移
1.はじめに 1-1.この記事の要旨 1-2.(予習)メモリに関する指標とlinuxのメモリ挙動について 2.検証環境と検証方法 2-1.検証環境 2-2.検証方法 2-3.測定方法 (1)psコマンドによるVSZ,RSS情報の取得 (2)freeコマンドとmeminfo情報の取得 3.結果 3-1.全体の結果 3-2.プロセスのVSZ/RSS挙動 ポイント① malloc()した時の挙動→VSZのみ増加 ポイント② 1回目のデータread時→RSSは増えない ポイント③ データwrite→RSSが増加する 3-3.システムワイドな挙動(freeコマンド/meminfo) ポイント① malloc()した時の挙動→usedもAnonymousPageも増えない ポイント②1回目のデータread時→変化しない。 ポイント③ データwrite→used上昇、AnonymousPage上昇 4.
低レイヤの知識の重要性は今後も変わらない - 小崎資広に聞くLinuxカーネル開発の裏側 Linuxは、世界でもっとも広く使われているソフトウェアのひとつであり、多くのエンジニアの仕事に密接に関わっています。では、Linuxそれ自体は、どのように開発されているのでしょうか。Linuxの中枢である、Linuxカーネルの開発者のひとりである小崎資広さんに、知られざる開発の裏側を聞きました。 オペレーティング・システムLinuxは、世界でもっとも広く使われているソフトウェアのひとつであり、オープンソースというカルチャーが生み出した、大きな大きな結実です。サーバー用OSとしてはデファクトと呼べるほどの普及を見せており、それだけにLinuxの動向がもたらす影響は広範にわたります。こうした前提があるなかで、Linuxそれ自体は、どのように開発されているのでしょうか。 今回、お話を聞いた小崎資広(こさき
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Linuxカーネルパラメータのチューニング&設計 0.目的 【カーネルパラメータのチューニング】を修得する目的は、サーバの特性を理解し、それぞれに合ったカーネルパラメータのチューニングすることでリソースの有効活用をできるようになることを目的とし、私個人の経験を元にした見解を以下の記事に掲載します。 1.最初に サーバには、それぞれ必要なリソース特性があり、それに合わせたカーネルパラメータのチューニングが必要となります。 世の中の流れはオンプレよりクラウドに移行してはいるので、カーネルパラメータのチューニングよりスケールアップなりスケール
情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア
■ 目的 tcコマンド(Traffic Control)は、Networkの遅延(Latency)と帯域(Throughput)を制御することができます。 コンピューターの距離により遅延、帯域が変わり、データ転送などの時間がかわることがあります。コンピューターを遠隔に離した場合、既存の処理に影響が出るかtcコマンドを使用して事前に検証することができます。 ということで、tcコマンドで、遅延、帯域が制御できるか確認してみてみます。 ■ 構成 Oracle Cloud上にComputeインスタンスを2台設置して、その間のNetworkパフォーマンスをTCコマンドで制御してみてみます ■ 現環境確認 Client --> Server へのレイテンシ、スループット、TPSを確認 ● 遅延(RTT)確認 pingを実行してRTT確認 今回は、平均0.166msであることを確認 [opc@clien
# DEV=<device> DEV=eth0 # sudo tc qdisc del dev $DEV root sudo tc qdisc add dev $DEV root handle 1: htb default 20 sudo tc class add dev $DEV parent 1: classid 1:1 htb rate 1000Mbit ceil 1000Mbit burst 10Mb cburst 10Mb sudo tc class add dev $DEV parent 1:1 classid 1:10 htb rate 1Kbit ceil 1Kbit burst 1Kb cburst 1Kb sudo tc class add dev $DEV parent 1:1 classid 1:20 htb rate 800Mbit ceil 1000Mbit b
Linux Traffic Control Traffic control (tc) is a very useful Linux utility that gives you the ability to configure the kernel packet scheduler. If you are looking for reasons to mess with the kernel scheduler, or simply testing packet loss‘ impact on applications, here are a few of them. Firstly, it’s fun to play with the different options and become familiar of all of Linux’s features. In addition
昨日、TOMOYO Linuxメインライン化記念合同勉強会(カーネル読書会、セキュアOSユーザ会、まっちゃ445)に行ってきて、小崎さんが匿名掲示板でガチでレビューしていたお話を聞いたので、早速過去ログを読んでみた。http://tomoyo.sourceforge.jp/2ch/thread-2.txt (追記:2009/7/4 21:03 なぜか後半部分、アスキーアートの後が切れてしまったので、前半部分を若干カットして(略)の部分、その2を追加しました。) LKML (Linux Kernel Mailing List)というのはLinuxカーネルの技術的なことを議論するもっとも権威(?)あるメーリングリストで、ここで議論され合意されたものがLinuxの本体に取り込まれることになる。このLinuxの本家本元の本体(くどいな)のことをメインラインと呼ぶ。Linuxを創ったLinusさんに
systemdのユニット定義ファイルには、EnvironmentFileという要素を記述することができます。 こんな感じに。 [Service] ... ... EnvironmentFile=/etc/default/foo これで対象のサービスが使う環境変数をファイルとして定義して、読み込ませることができます。 ファイルの中身は、「環境変数=値」のように書きます。 MY_ENV_VAR=xxx ... ところで、たまにファイルパスの先頭に「-」がついているものがあります。 [Service] ... ... EnvironmentFile=-/etc/default/bar これはなんでしょう? ちょっと調べてみました。 systemd.exec(5) - Linux manual page systemd.exec $ man 5 systemd.exec optionally pr
はじめに 最近プログラマーとしてのキャリアに一区切りつけようと思っており、これまでのプログラミングの勉強の集大成となるブログを書きたくなったので書く。初めてプログラミングをして、フロントエンド開発をして、サーバーから値が返ってきたときは「どういう仕組みで値が返ってきたんだ?」と疑問に思っていた。ずっと理解したくて理解できていなかった。だからずっと勉強していた。そして最近になってようやく自分の言葉で説明できるようになった気がしたのでブログを書きたい。 2015 年版が自分の原点であり、この記事を書くモチベーションになった このような記事は実は過去に存在している。 FYI: https://blog.yuuk.io/entry/2015-webserver-architecture その記事はサーバーがどういう仕組みで動いていて、どのように進化し、2015 年に至るかを解説してくれた記事だ。自
第37回で説明した通り、cgroup v1には様々な問題点が指摘されており、その問題を解決すべくcgroup v2が実装されました。 cgroup v1では、各コントローラがバラバラに実装されており、コントローラ間の連携が取れませんでした。これが原因で、リソースを制限するにあたって一番表面化していた問題が、ディスクI/Oに対して制限をかける際の問題でした。cgroup v1ではblkioコントローラでI/Oに対する制限をかけられましたが、限定的な制限しかかけられませんでした。 LinuxでのI/O コントローラ間で連携ができないため、blkioコントローラを使ったI/O制限が限定的になってしまう理由を説明するために、Linuxでディスクへファイル入出力する際の仕組みを簡単に説明しておきましょう。もう少し詳しい仕組みが知りたい方は『[試して理解]Linuxのしくみ』など、関連する書籍や文書を
この記事は最終更新日から1年以上が経過しています。情報が古くなっている可能性があります。 …おひさしぶりです。 といってもこんなインターネットの場末にあるこのブログを定期購読みたいな形でチェックしている奇特な人間がいるとは思えませんが、記事を書くモチベーションがかなり低下してしまったこともあって、このブログも去年の4月以来まったく記事を書いていませんでした。 さすがに放置しすぎてちょっとまずいだろうとなったのと、WordPress の Gutenberg のアプデ後の書き心地を試したかったのと、ちょうど NanoPi R6S が届いた(!)という記事にするにはいいかんじのイベントがあったので、適当に Ubuntu 22.04 LTS をインストールした方法についてメモしておきます。 NanoPi R6S - FriendlyELEC WiKiwiki.friendlyelec.com …と
I install Debian a lot. To do this I have a fully-automated preseed.cfg; at the end of the preseed, it downloads and runs a postinstall.sh script from my TFTP server, which does some additional customization. I'm in the process of switching from GNOME to LXQTE, and using SDDM instead of GDM. However, SDDM tries to start too quickly for my hardware. To get around this, I've been using systemctl edi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く