Submit Search
Psql & proctitle
Download as ODP, PDF
0 likes
743 views
Y
Yuichiro Naito
FreeBSD proctitle(3) improvement
Software
Read more
1 of 10
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
More Related Content
PDF
Bossan dentoo
kubo39
PDF
Bgworkerで簡易クラスタ管理
Masahiko Sawada
PDF
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
PPTX
CloudCore VPS 開発者支援制度
Koichi Shimozono
PDF
【学習メモ#11th】12ステップで作る組込みOS自作入門
sandai
PDF
BEAR.Sunday 1.X
Akihito Koriyama
PPTX
Next-L Enju ワークショップ #86
Kosuke Tanabe
PDF
【学習メモ#9th】12ステップで作る組込みOS自作入門
sandai
Bossan dentoo
kubo39
Bgworkerで簡易クラスタ管理
Masahiko Sawada
【学習メモ#1st】12ステップで作る組込みOS自作入門
sandai
CloudCore VPS 開発者支援制度
Koichi Shimozono
【学習メモ#11th】12ステップで作る組込みOS自作入門
sandai
BEAR.Sunday 1.X
Akihito Koriyama
Next-L Enju ワークショップ #86
Kosuke Tanabe
【学習メモ#9th】12ステップで作る組込みOS自作入門
sandai
What's hot
(20)
PDF
20110205.linux 0.01
YAMANE Toshiaki
PDF
membase
Yohei Sasaki
PPTX
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
Kiyoshi Sawada
PDF
EthernetやCPUなどの話
Takanori Sejima
PPTX
Matlab distributed computing serverの使い方
Osamu Masutani
PDF
Couch DB in 15minutes
Yohei Sasaki
PPTX
Windows HPC Server 講習会 第2回 開発編
Osamu Masutani
PPTX
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
Kiyoshi Sawada
PDF
PHP matsuri 2013 Windows Azure Storage SDK for PHP
Takeshi Sakurai
ODP
Next-L Enju 開発ワークショップ #10
Kosuke Tanabe
PDF
Website build exercise_opsguide_japanese
meilai521
PDF
Bmd
Yuichiro Naito
PPT
mongoDB: OSC Tokyo2010 spring
ichikaway
PPTX
Varnish
Ayako Hatori
KEY
MHA, Murakumo & Me
Michael H. Oshita
PDF
binary log と 2PC と Group Commit
Takanori Sejima
PPTX
Windows HPC Server 講習会 第1回 導入編 1/2
Osamu Masutani
PDF
Hpc server講習会第3回応用編
Osamu Masutani
PPTX
MySQLやSSDとかの話・後編
gree_tech
PDF
MySQLやSSDとかの話 後編
Takanori Sejima
20110205.linux 0.01
YAMANE Toshiaki
membase
Yohei Sasaki
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
Kiyoshi Sawada
EthernetやCPUなどの話
Takanori Sejima
Matlab distributed computing serverの使い方
Osamu Masutani
Couch DB in 15minutes
Yohei Sasaki
Windows HPC Server 講習会 第2回 開発編
Osamu Masutani
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
Kiyoshi Sawada
PHP matsuri 2013 Windows Azure Storage SDK for PHP
Takeshi Sakurai
Next-L Enju 開発ワークショップ #10
Kosuke Tanabe
Website build exercise_opsguide_japanese
meilai521
Bmd
Yuichiro Naito
mongoDB: OSC Tokyo2010 spring
ichikaway
Varnish
Ayako Hatori
MHA, Murakumo & Me
Michael H. Oshita
binary log と 2PC と Group Commit
Takanori Sejima
Windows HPC Server 講習会 第1回 導入編 1/2
Osamu Masutani
Hpc server講習会第3回応用編
Osamu Masutani
MySQLやSSDとかの話・後編
gree_tech
MySQLやSSDとかの話 後編
Takanori Sejima
Ad
More from Yuichiro Naito
(20)
PDF
Install FreeBSD 14.3-RELEASE to HP Envy x360
Yuichiro Naito
PDF
Bhyve Management Daemon: Wake on LAN support
Yuichiro Naito
PDF
Development of Bhyve Management Daemon on FreeBSD
Yuichiro Naito
PDF
Bhyve Management Daemon Version 3.0 on FreeBSD
Yuichiro Naito
PDF
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Yuichiro Naito
PDF
WireGurad in the FreeBSD kernel
Yuichiro Naito
PDF
FreeBSD Capsicum
Yuichiro Naito
PDF
Xrdp
Yuichiro Naito
PDF
Bhyve debug-server
Yuichiro Naito
PDF
Tramp mode
Yuichiro Naito
PDF
HandBrake with QSV
Yuichiro Naito
PDF
FreeBSD 12.1 RELESE
Yuichiro Naito
PPTX
Modern fonts
Yuichiro Naito
ODP
FreeBSD 12.0 RELEASE!
Yuichiro Naito
ODP
Iocage
Yuichiro Naito
ODP
FreeBSD 11.2 RELEASE!
Yuichiro Naito
ODP
How to use PTI & IBRS patch
Yuichiro Naito
ODP
FreeBSD Desktop
Yuichiro Naito
ODP
FreeBSD Ports Flavors
Yuichiro Naito
ODP
Bsdtw repo
Yuichiro Naito
Install FreeBSD 14.3-RELEASE to HP Envy x360
Yuichiro Naito
Bhyve Management Daemon: Wake on LAN support
Yuichiro Naito
Development of Bhyve Management Daemon on FreeBSD
Yuichiro Naito
Bhyve Management Daemon Version 3.0 on FreeBSD
Yuichiro Naito
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Yuichiro Naito
WireGurad in the FreeBSD kernel
Yuichiro Naito
FreeBSD Capsicum
Yuichiro Naito
Xrdp
Yuichiro Naito
Bhyve debug-server
Yuichiro Naito
Tramp mode
Yuichiro Naito
HandBrake with QSV
Yuichiro Naito
FreeBSD 12.1 RELESE
Yuichiro Naito
Modern fonts
Yuichiro Naito
FreeBSD 12.0 RELEASE!
Yuichiro Naito
Iocage
Yuichiro Naito
FreeBSD 11.2 RELEASE!
Yuichiro Naito
How to use PTI & IBRS patch
Yuichiro Naito
FreeBSD Desktop
Yuichiro Naito
FreeBSD Ports Flavors
Yuichiro Naito
Bsdtw repo
Yuichiro Naito
Ad
Psql & proctitle
1.
PostgreSQL と setproctitle(3) 2018 年 8
月 28 日 (株)創夢 内藤 祐一郎
2.
PostgreSQL ● Linux 版の PostgreSQL
を ps コマンドで見てみると 次のように表示されることがあります。 – “postgres: userA dbB 192.168.1.11(60936) INSERT” ● これは今まさに userA が dbB に対して insert を実行してい るよ、という表示です。 ● クライアントの IP アドレス、ポート番号も表示されます。 ● この表示は SQL の発行毎に書き換わるため、少し忙しいシステ ムになると秒間数千〜数万程度書き換わる可能性があります。
3.
PostgreSQL ● FreeBSD だとデフォルトでは使用しないようになっており、 ● postgresql.conf には以下の注意書きがあります。 –
# On FreeBSD, this is a performance hog, so keep it off if you need speed – (意訳:スピードが欲しければ OFF にしてお け) – update_process_title = off ● なんでこんなことが書かれているのか?
4.
setproctitle(3) の実装 ● FreeBSD ではプロセスタイトルの書き換えに setproctitle(3)
という libc の関数が用意されています。 ● これは posix ではありません。 BSD 系列の独自実装です。 ● この関数は以下のような sysctl を呼び出します。 – sysctl("kern.proc.proc_args.<pid>", NULL, 0, – " プロセスタイトルの文字列 ", 文字数 ) ● pid を必要とすることから getpid(2) も呼び出します。 ● setproctitle(3) 内では2つのシステムコールが呼び出されます。
5.
setproctitle(3) の高速化 ● ちなみに Linux
では argv[0] を書き換えます。 ➔システムコールが呼び出されない分、高速で す。 ● FreeBSD でも同様にプロセスが起動時に呼び出された argv の配列を取得し、その領域を書き換えるようします。 ● これは sysctlbyname(“kern.ps_strings”) で取得できます。 ● その後、カーネルにはこの値を見るように設定します。
6.
setproctitle(3) の高速化 ● 一度取得したメモリアドレスは static
な変数に保存しておきま すので、2回目以降はメモリ書き換えのみになります。 ➔ Linux とほぼ同じ性能になります。 ● head 及び stable/11 では変更済です。 ➔次期リリースでは update_process_title = on が利 用可能に!
7.
bhyve で問題発生 ● 先ほどの更新された setproctitile(3)
が bhyve で使えないこと が分かりました。 – ( 前回の workshop で動作がおかしいと言って いた話です ) ● なんで使えないのか? ➔ capability mode だから ➔ bhyve は 11.2-R から capability mode で動作します ➔ capability mode では sysctl(2) が使えません
8.
bhyve の修正 ● capability mode
で使えないならば、 capability mode に入る前にセットすれば良い。 ➔ head 及び stable/11 では修正済 ● 前述の通り、一度呼び出しておけば、 capability mode でも使用可能。 ➔2回目以降は sysctlbyname(2) を呼び出さない ため
9.
setproctitle(3) の論点 ● 必要なリソースは capability
mode の前に取得しておけ、とい う思想には反していない。 ● setproctitle という名前からリソース取得が必要とは想像しに くい。 ● 取得しているメモリアドレスは自分のプロセスのものであり、 情報漏えいには当たらない。 ● capability mode でも setproctitle(3) できたほうが便利。 ➔以上がざっと思いつく論点です
10.
setproctitle(3) のその後 ● おそらく BSDCam
2018 ( 8/15 〜 17@ イギリス、ケンブリッジ) で議論された結果 ● カーネルに capability mode でも kern.ps_strings だけは読み込み可能にするフラグが 追加されました。 ● capability mode でも問題なく setproctitle(3) できるようにな ります。
Download