Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
YN
Uploaded by
Yuichiro Naito
ODP, PDF
746 views
Psql & proctitle
FreeBSD proctitle(3) improvement
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 10
2
/ 10
3
/ 10
4
/ 10
5
/ 10
6
/ 10
7
/ 10
8
/ 10
9
/ 10
10
/ 10
More Related Content
PDF
Bossan dentoo
by
kubo39
PDF
Bgworkerで簡易クラスタ管理
by
Masahiko Sawada
PDF
【学習メモ#1st】12ステップで作る組込みOS自作入門
by
sandai
PPTX
CloudCore VPS 開発者支援制度
by
Koichi Shimozono
PDF
【学習メモ#11th】12ステップで作る組込みOS自作入門
by
sandai
PDF
BEAR.Sunday 1.X
by
Akihito Koriyama
PPTX
Next-L Enju ワークショップ #86
by
Kosuke Tanabe
PDF
【学習メモ#9th】12ステップで作る組込みOS自作入門
by
sandai
Bossan dentoo
by
kubo39
Bgworkerで簡易クラスタ管理
by
Masahiko Sawada
【学習メモ#1st】12ステップで作る組込みOS自作入門
by
sandai
CloudCore VPS 開発者支援制度
by
Koichi Shimozono
【学習メモ#11th】12ステップで作る組込みOS自作入門
by
sandai
BEAR.Sunday 1.X
by
Akihito Koriyama
Next-L Enju ワークショップ #86
by
Kosuke Tanabe
【学習メモ#9th】12ステップで作る組込みOS自作入門
by
sandai
What's hot
PDF
20110205.linux 0.01
by
YAMANE Toshiaki
PDF
membase
by
Yohei Sasaki
PPTX
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
by
Kiyoshi Sawada
PDF
EthernetやCPUなどの話
by
Takanori Sejima
PPTX
Matlab distributed computing serverの使い方
by
Osamu Masutani
PDF
Couch DB in 15minutes
by
Yohei Sasaki
PPTX
Windows HPC Server 講習会 第2回 開発編
by
Osamu Masutani
PPTX
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
by
Kiyoshi Sawada
PDF
PHP matsuri 2013 Windows Azure Storage SDK for PHP
by
Takeshi Sakurai
ODP
Next-L Enju 開発ワークショップ #10
by
Kosuke Tanabe
PDF
Website build exercise_opsguide_japanese
by
meilai521
PDF
Bmd
by
Yuichiro Naito
PPT
mongoDB: OSC Tokyo2010 spring
by
ichikaway
PPTX
Varnish
by
Ayako Hatori
KEY
MHA, Murakumo & Me
by
Michael H. Oshita
PDF
binary log と 2PC と Group Commit
by
Takanori Sejima
PPTX
Windows HPC Server 講習会 第1回 導入編 1/2
by
Osamu Masutani
PDF
Hpc server講習会第3回応用編
by
Osamu Masutani
PPTX
MySQLやSSDとかの話・後編
by
gree_tech
PDF
MySQLやSSDとかの話 後編
by
Takanori Sejima
20110205.linux 0.01
by
YAMANE Toshiaki
membase
by
Yohei Sasaki
EWD 3トレーニング・コース #29 ewd-xpress を Linux systemdでサービスとして稼働させる
by
Kiyoshi Sawada
EthernetやCPUなどの話
by
Takanori Sejima
Matlab distributed computing serverの使い方
by
Osamu Masutani
Couch DB in 15minutes
by
Yohei Sasaki
Windows HPC Server 講習会 第2回 開発編
by
Osamu Masutani
EWD 3トレーニングコース#12 ewd-xpressのセッション・タイムアウトの制御
by
Kiyoshi Sawada
PHP matsuri 2013 Windows Azure Storage SDK for PHP
by
Takeshi Sakurai
Next-L Enju 開発ワークショップ #10
by
Kosuke Tanabe
Website build exercise_opsguide_japanese
by
meilai521
Bmd
by
Yuichiro Naito
mongoDB: OSC Tokyo2010 spring
by
ichikaway
Varnish
by
Ayako Hatori
MHA, Murakumo & Me
by
Michael H. Oshita
binary log と 2PC と Group Commit
by
Takanori Sejima
Windows HPC Server 講習会 第1回 導入編 1/2
by
Osamu Masutani
Hpc server講習会第3回応用編
by
Osamu Masutani
MySQLやSSDとかの話・後編
by
gree_tech
MySQLやSSDとかの話 後編
by
Takanori Sejima
More from Yuichiro Naito
PDF
Install FreeBSD 14.3-RELEASE to HP Envy x360
by
Yuichiro Naito
PDF
Bhyve Management Daemon: Wake on LAN support
by
Yuichiro Naito
PDF
Development of Bhyve Management Daemon on FreeBSD
by
Yuichiro Naito
PDF
Bhyve Management Daemon Version 3.0 on FreeBSD
by
Yuichiro Naito
PDF
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
by
Yuichiro Naito
PDF
WireGurad in the FreeBSD kernel
by
Yuichiro Naito
PDF
FreeBSD Capsicum
by
Yuichiro Naito
PDF
Xrdp
by
Yuichiro Naito
PDF
Bhyve debug-server
by
Yuichiro Naito
PDF
Tramp mode
by
Yuichiro Naito
PDF
HandBrake with QSV
by
Yuichiro Naito
PDF
FreeBSD 12.1 RELESE
by
Yuichiro Naito
PPTX
Modern fonts
by
Yuichiro Naito
ODP
FreeBSD 12.0 RELEASE!
by
Yuichiro Naito
ODP
Iocage
by
Yuichiro Naito
ODP
FreeBSD 11.2 RELEASE!
by
Yuichiro Naito
ODP
How to use PTI & IBRS patch
by
Yuichiro Naito
ODP
FreeBSD Desktop
by
Yuichiro Naito
ODP
FreeBSD Ports Flavors
by
Yuichiro Naito
ODP
Bsdtw repo
by
Yuichiro Naito
Install FreeBSD 14.3-RELEASE to HP Envy x360
by
Yuichiro Naito
Bhyve Management Daemon: Wake on LAN support
by
Yuichiro Naito
Development of Bhyve Management Daemon on FreeBSD
by
Yuichiro Naito
Bhyve Management Daemon Version 3.0 on FreeBSD
by
Yuichiro Naito
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
by
Yuichiro Naito
WireGurad in the FreeBSD kernel
by
Yuichiro Naito
FreeBSD Capsicum
by
Yuichiro Naito
Xrdp
by
Yuichiro Naito
Bhyve debug-server
by
Yuichiro Naito
Tramp mode
by
Yuichiro Naito
HandBrake with QSV
by
Yuichiro Naito
FreeBSD 12.1 RELESE
by
Yuichiro Naito
Modern fonts
by
Yuichiro Naito
FreeBSD 12.0 RELEASE!
by
Yuichiro Naito
Iocage
by
Yuichiro Naito
FreeBSD 11.2 RELEASE!
by
Yuichiro Naito
How to use PTI & IBRS patch
by
Yuichiro Naito
FreeBSD Desktop
by
Yuichiro Naito
FreeBSD Ports Flavors
by
Yuichiro Naito
Bsdtw repo
by
Yuichiro Naito
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