ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ psi-notify 1.0, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΡΡΡΡ (cpu, ΠΏΠ°ΠΌΡΡΡ, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄) Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡΡ. ΠΠΎΠ΄ ΠΎΡΠΊΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΌΠ°ΡΡΡΠ°Π±Π΅ Π²ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΄ΡΠ° PSI (Pressure Stall Information), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² (CPU, ΠΏΠ°ΠΌΡΡΡ, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
Π·Π°Π΄Π°Ρ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² cgroup.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ MemAvailable, Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π¦Π, Π³ΡΠ°ΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ, Psi-notify Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π½Π°ΡΠ½ΡΡ ΡΠ΅ΡΡΡΠ·Π½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PSI ΡΠ΄ΡΠΎΠΌ (Linux 4.20+ c Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ CONFIG_PSI=y). ΠΠ»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π½Π° ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΏΡΠΈ Π½Π΅Ρ
Π²Π°ΡΠΊΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ libnotify.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru