ruto on Nostr: 『詳説データベース』で紹介されていたページ: ...
『詳説データベース』で紹介されていたページ:
https://lwn.net/Articles/752063/Linuxのfsyncはページのフラッシュに失敗してもダーティ状態をクリアしてしまう(USBドライブが抜けた場合などにダーティなページが溜まっていくのを防ぐため)。
また、ファイルを開いていないときにカーネルがページをフラッシュしたときのエラーはfsync等で取れない。
これはPostgreSQLなど、データ書き込みプロセスとは別のfsync用プロセスがまとめてfsyncするようなアプリケーションで問題となる。
この対策として現在のPostgreSQLではカーネルのページキャッシュを使わずにdirect I/Oを使って自前でキャッシュを管理している。
Published at
2023-09-23 13:39:58Event JSON
{
"id": "77c396e6bb28716591d8626398a85a25f657630a3ff1631c755e7b0795696fa3",
"pubkey": "2888961a564e080dfe35ad8fc6517b920d2fcd2b7830c73f7c3f9f2abae90ea9",
"created_at": 1695476398,
"kind": 1,
"tags": [],
"content": "『詳説データベース』で紹介されていたページ: https://lwn.net/Articles/752063/\n\nLinuxのfsyncはページのフラッシュに失敗してもダーティ状態をクリアしてしまう(USBドライブが抜けた場合などにダーティなページが溜まっていくのを防ぐため)。\nまた、ファイルを開いていないときにカーネルがページをフラッシュしたときのエラーはfsync等で取れない。\nこれはPostgreSQLなど、データ書き込みプロセスとは別のfsync用プロセスがまとめてfsyncするようなアプリケーションで問題となる。\nこの対策として現在のPostgreSQLではカーネルのページキャッシュを使わずにdirect I/Oを使って自前でキャッシュを管理している。",
"sig": "a866f568e39462f2e97283cf6ca5bc955df08e285a999369d1ef7d9058a824676ea997d7adccb0cc29c4dfac7b5c55249f4d601760f6867f18a91c1be5e54e7e"
}