рдХреНрд╡рд┐рдХ рдбрд╛рдпрдЧреНрдиреЛрд╕реНрдЯрд┐рдХреНрд╕ рдФрд░ рдкреНрд░реЙрдмреНрд▓рдо рд╕реЙрд▓реНрд╡рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреА рдЗрдирд╕рд╛рдЗрдб рдХрд┐рдЪрди рд╕реАрдЦрдирд╛

рдпрд╣ рд▓реЗрдЦ рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 2.6.3x рдЧреБрдард▓реА рдХреЗ рд╕рд╛рде RHEL6 рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди 2.6.18 рдЧреБрдард▓реА рдХреЗ рд╕рд╛рде RHEL5 (рд╡реИрд╕реЗ, рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп) - рдЕрдлрд╕реЛрд╕, рдирд╣реАрдВред рдФрд░ рдлрд┐рд░ рднреА - рдкрд░рдорд╛рдгреБ рдбрд┐рдмрдЧрд░реНрд╕ рдпрд╛ SytemTap рд▓рд┐рдкрд┐рдпреЛрдВ рдХрд╛ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реЛрдЧрд╛; рдХреЗрд╡рд▓ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ рд╕рд░рд▓ рдХрдорд╛рдВрдб рдЬреИрд╕реЗ "рдХреИрдЯ / рдкреНрд░реЛрдХ / рдкреАрдЖрдИрдбреА тАЛтАЛ/ xyz", / рдкреНрд░реЛрдХреНрдпреЛрд░ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдиреЛрдбреНрд╕ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВред

"рдирд┐рд░реЛрдзрд╛рддреНрдордХ" рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд┐рджрд╛рди


рдпрд╣рд╛рдБ рдПрдХ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ find "рдмрд╣реБрдд рдзреАрдорд╛" рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рджрд┐рдПред рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рдерд╛, рд╣рдордиреЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рджреАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо OEL6, рдпрд╛рдиреА рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдХрд╛рдлреА рддрд╛рдЬрд╛ рдХрд░реНрдиреЗрд▓ рдкрд░ (рдЕрд░реНрдерд╛рддреН - 2.6.39 UEK2)

рддреЛ, рдЪрд▓рд┐рдП рдирд┐рджрд╛рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдкрд╣рд▓реЗ, рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЦреЛрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрднреА рднреА рдЬреАрд╡рд┐рдд рд╣реИ:

[root @ oel6 ~] # ps -ef | рдкрдХрдбрд╝рдирд╛
рд░реВрдЯ 27288 27245 4 11:57 рдкреАрдЯреА / 0 00:00:01 рдЦреЛрдЬреЗрдВред -рдкреНрд░рдХрд╛рд░ f
рд░реВрдЯ 27334 27315 0 11:57 рдкреАрдЯреАрдПрд╕ / 1 00:00:00 рдЧреНрд░реАрдк рдкрд╛рддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рдпрд╣ рдЬрдЧрд╣ рдореЗрдВ рд╣реИ - рдкреАрдЖрдИрдбреА тАЛтАЛ27288 (рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВ рдЗрд╕ рдкреАрдЖрдИрдбреА тАЛтАЛрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛)

рдЖрдЗрдП рдореВрд▓ рдмрд╛рддреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЕрдбрд╝рдЪрди рд╣реИ, рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рд╕реЗ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреИрд╢ рд╕реЗ рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ), рддреЛ рдЗрд╕реЗ 100% CPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпрд╣ IO рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдЕрд╡рд░реБрджреНрдз рд╣реИ, рддреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд▓реЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдо рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

[рд░реВрдЯ @ oel6 ~] # рдЯреЙрдк -cbp реи .реи66
рд╢реАрд░реНрд╖ - 11:58:15 7 рджрд┐рди, 3:38, 2 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд▓реЛрдб рдФрд╕рдд: 1.21, 0.65, 0.47
рдХрд╛рд░реНрдп: 1 рдХреБрд▓, 0 рджреМрдбрд╝рдирд╛, 1 рд╕реЛрдирд╛, 0 рд░реБрдХрдирд╛, 0 рдЬрд╝реЛрдВрдмреА
CPU (s): 0.1% us, 0.1% sy, 0.0% ni, 99.8% id, 0.0% wa, 0.0% hi, 0.0% si, 0.0% st
рдореЗрдо: 2026460k рдХреБрд▓, 1935780k рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, 90680k рдореБрдлреНрдд, 64416k рдмрдлрд░
рд╕реНрд╡реИрдк: 4128764k рдХреБрд▓, 251004k рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, 3877760k рдореБрдлреНрдд, 662280k рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛

PID USER PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND
27288 рд░реВрдЯ 20 0 109 рдореА 1160 844 рдбреА 0.0 0.1 0: 01.11 рдЦреЛрдЬреЗрдВред -рдкреНрд░рдХрд╛рд░ f

'рд╢реАрд░реНрд╖' рдХрдорд╛рдВрдб рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реАрдкреАрдпреВ рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреА рд╣реИ (рдпрд╛ рд▓реЛрдб рдЗрддрдирд╛ рдЫреЛрдЯрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╢реВрдиреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреНрд╡рд╛рдВрдЯрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдЯреИрдВрдбрдмрд╛рдп рд░рд╛рдЬреНрдп рд╕реЗ рдЙрдарддреА рд╣реИ рдФрд░ рдлрд┐рд░ рддреБрд░рдВрдд рд╕реЛ рдЬрд╛рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЪреБрдирд╛рд╡ рд╕рдВрдЪрд╛рд▓рди) рд▓рдЧрд╛рддрд╛рд░ рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмреБрд▓рд╛рддреА рд╣реИ рдФрд░ рд╕реЛ рдЬрд╛рддреА рд╣реИ)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, 'рдЯреЙрдк' рдХрдорд╛рдВрдб рдЗрди рджреЛрдиреЛрдВ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдХреЛ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИред

рдЖрдЗрдП рдЕрдиреНрдп рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЖрдорддреМрд░ рдкрд░, рдЕрдЧрд░ рдХреЛрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рдЯрдХрддреА рджрд┐рдЦрддреА рд╣реИ (рд╕реАрдкреАрдпреВ рдХрд╛ 0% рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрд╡рд░реЛрдзрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рд╣реИ - рдЬреЛ рдХрд░реНрдиреЗрд▓ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ), рдореИрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ strace рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рд╣реИ рд╡рд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рдЯрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕реЗ рд▓реМрдЯрддрд╛ рд╣реИ рдФрд░ рдЙрдарддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдЯреНрд░реЗрд╕ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рднреА рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ (рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕рдордп-рд╕рдордп рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдлрд┐рд░ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛):

[рд░реВрдЯ @ oel6 ~] # рд╕реНрдЯреНрд░реЗрд╕ -cp реи .реи66
рдкреНрд░рдХреНрд░рд┐рдпрд╛ 27288 рдЬреБрдбрд╝реА - рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд░реБрдХрд╛рд╡рдЯ

^ рд╕реА
^ Z
[рез] + рд╕реНрдЯреЙрдк рд╕реНрдЯреНрд░реЗрд╕ -cp реи .реиoppedopped

[рд░реВрдЯ @ oel6 ~] # рдорд╛рд░-реп%%
[рез] + рд╕реНрдЯреЙрдк рд╕реНрдЯреНрд░реЗрд╕ -cp реи .реиoppedopped
[рд░реВрдЯ @ oel6 ~] #
[рез] + рдорд╛рд░реЗ рдЧрдП рд╕реНрдЯреНрд░реЗрд╕ -cp реи .реиilledilled

рдЙрдлрд╝тАж рд▓рдЧрддрд╛ рд╣реИ рд╕реНрдЯреНрд░реЗрд╕ рдЯреАрдо рдиреЗ рднреА рдЦреБрдж рдХреЛ рд▓рдЯрдХрд╛ рд▓рд┐рдпрд╛ рд╣реИ! рдЙрд╕рдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛, рдФрд░ CTRL + C рджрдмрд╛рдиреЗ рдХрд╛ рднреА рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкрд╣рд▓реЗ рдЙрд╕реЗ CTRL + Z рджрдмрд╛рдХрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рднреЗрдЬрдирд╛ рдкрдбрд╝рд╛, рдФрд░ рдлрд┐рд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд╛рд░ рджрд┐рдпрд╛ред рдмрд╣реБрдд рдЖрд╕рд╛рди рдирд┐рджрд╛рди рдирд╣реАрдВ!

рдЖрдЗрдП pstack рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ (рд▓рд┐рдирдХреНрд╕ рдкрд░, pstack GDB рдбреАрдмрдЧрд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдЖрд╡рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ)ред Pstack рд╣рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдХреА рдЖрдВрддрд░рд┐рдХ рд░рд╕реЛрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрддрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рд╣реИ, (рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ libc рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ):

[рд░реВрдЯ @ oel6 ~] # рдордВрдЪ реи .реи66

^ рд╕реА
^ Z
[рез] + рд░реВрдХрд╛ рд╣реБрдЖ рдорд╡рд╛рдж реи8реи]]

[рд░реВрдЯ @ oel6 ~] # рдорд╛рд░%%
[рез] + рд░реВрдХрд╛ рд╣реБрдЖ рдорд╡рд╛рдж реи8реи]]
[рд░реВрдЯ @ oel6 ~] #
[рез] + рд╕рдорд╛рдкреНрдд рдкреГрд╖реНрда реиinatedреи ]ack

Pstack рднреА рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛!

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЕрднреА рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ 100% рдореБрдлрд╝реНрдд рд╣реИ (рдЕрдлрд╕реЛрд╕), рдпрд╛ рдХреЗрд╡рд▓ 99.99% (рдЙрдарддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рд╕реЛ рдЬрд╛рддрд╛ рд╣реИ) - рдФрд░ рд╣рдо рдпрд╣ рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд╣рд╛рдВ рд╣реБрдЖ рд╣реИред

рдореИрдВ рдФрд░ рдХрд╣рд╛рдБ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ? рдПрдХ рдФрд░ рдЕрдХреНрд╕рд░ рд╕реБрд▓рдн рдЬрдЧрд╣ рд╣реИ - рд╕реНрдерд┐рддрд┐ рдФрд░ WCHAN рдлрд╝реАрд▓реНрдб, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреБрд░рд╛рдиреЗ рдкреБрд░рд╛рдиреЗ ps рдХрдорд╛рдВрдб (hmm ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ ... рд╢рд╛рдпрдж рдЖрдкрдХреЛ рдЗрд╕реЗ рддреБрд░рдВрдд рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдо рд▓рд╛рд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ):

[рд░реВрдЯ @ oel6 ~] # ps -flp реи6реи66
FS UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY рд╕рдордп рд╕реАрдПрдордбреА
0 D рд░реВрдЯ 27288 27245 0 80 0 - 28070 rpc_wa 11:57 pts / 0 00:00:01 рдЦреЛрдЬреЗрдВред -рдкреНрд░рдХрд╛рд░ f

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╣реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛рд░реА рд╣реИ, рдкреАрдПрд╕ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХрдИ рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЖрдк рдЧрд▓рдд рд╕рдордп рдкрд░ рдХрд┐рдП рдЧрдП рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрд▓рдд рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣рд╛рдВ рдореИрдВ рдмрд╣рд╛рджреБрд░реА рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд▓реЙрдиреНрдЪ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реВрдВред

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╛рдЬреНрдп рдбреА ("рдзреНрд╡рдирд┐ рдиреАрдВрдж") рдореЗрдВ рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдбрд┐рд╕реНрдХ I / O рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдкреАрдПрд╕ рдореИрди рдкреЗрдЬ рднреА рдХрд╣рддрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, WCHAN рдлрд╝реАрд▓реНрдб (рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди / рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ) рдереЛрдбрд╝рд╛ рдлрд╕рд▓реА рд╣реИред рдореИрдВ рдЗрд╕ рдлрд╝реАрд▓реНрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдереЛрдбрд╝рд╛ рд╡реНрдпрд╛рдкрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП ps рдХреЙрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдВрдХрд┐ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА / proc рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЖрддреА рд╣реИ, рддреЛ рд╣рдо рд╕реАрдзреЗ рд╕реНрд░реЛрдд рдкрд░ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ (рдлрд┐рд░ рд╕реЗ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлреНрд░реАрдЬ рд╣реЛ рдЬрд╛рдП) рдХреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рдмрд╣реБрдд рдмрд╛рд░ рд╕реЛ рд░рд╣рд╛ рд╣реИ):

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / proc / 27288 / wchan
rpc_wait_bit_killable


рд╣рдореНрдо ... рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд░рдкреАрд╕реА рдХреЙрд▓ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реА рд╣реИред рдЗрд╕рдХрд╛ рдЖрдорддреМрд░ рдкрд░ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ (рдпрд╛ рддреЛ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░, рдпрд╛ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░ рднреА) рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░ рд░рд╣реА рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпреЛрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдЖрдВрджреЛрд▓рди рд╣реИ, рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЯрдХ рдЧрдИ рд╣реИ?


рд▓реЗрдЦ рдХреЗ "рдорд╛рдВрд╕" рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЯрдХ рдЧрдИ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЖрдзреБрдирд┐рдХ рдЧреБрдард▓реА рдкрд░, рдЖрдк рдЕрдзреНрдпрдпрди / рдЦрд░реАрдж / рдкреАрдЖрдИрдбреА тАЛтАЛ/ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдореВрд▓реНрдпреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рд╣реИ:

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / рдкреНрд░реЛрдХ / реи /реи status status / рд╕реНрдерд┐рддрд┐
рдирд╛рдо: рдЦреЛрдЬ
рд░рд╛рдЬреНрдп: D (рдбрд┐рд╕реНрдХ рд╕реНрд▓реАрдк)
Tgid: 27288
рдкрд┐рдб: 27288
рдкреАрдкреАрдЖрдИрдбреА: 27245
рдЯреНрд░реЗрд╕рд░рдкрд┐рдб: 0
рдЙрд┐рдж: реж реж реж реж
рдЧрд┐рдж: реж реж реж реж
Fdsize: 256
рд╕рдореВрд╣: 0 1 2 3 4 6 10
VmPeak: 112628 kB
VmSize: 112280 kB
VmLck: 0 kB
VHHWM: 1508 kB
VmRSS: 1160 рдХреЗрдмреА
VmData: 260 kB
VmStk: 136 kB
VmExe: 224 kB
VmLib: 2468 kB
VmPTE: 88 kB
VmSwap: 0 kB
рд╕реВрддреНрд░: 1
SigQ: 4/15831
SigPnd: 0000000000040000
ShdPnd: 0000000000000000
рд╕рд┐рдмреНрд▓реЙрдХ: 0000000000000000
рд╕рд┐рдЧреНрдирдЧрди: 0000000000000000
SigCgt: 0000000180000000
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: ffffffffffffffff
Capbnd: ffffffffffffffff
Cpus_allowed: ffffffff, ffffffff
Cpus_allowed_list: 0-63
Mems_allowed: 00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000.00000000 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 9950
nonvoluntary_ctxt_switches: 17104


рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╛рдЬреНрдп рдореЗрдВ рд╣реИ - рдбрд┐рд╕реНрдХ рдиреАрдВрдж ("рдзреНрд╡рдирд┐" рдиреАрдВрдж)ред voluntary_ctxt_switches рдФрд░ nonvoluntary_ctxt_switches рдХреЗ рдореВрд▓реНрдпреЛрдВ рдкрд░ рднреА рдзреНрдпрд╛рди nonvoluntary_ctxt_switches - рд╡реЗ рд╣рдореЗрдВ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдиреЗ рдХрд┐рддрдиреА рдмрд╛рд░ рд╕реАрдкреАрдпреВ рдХрд╛ рдХреНрд╡рд╛рдВрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ (рдпрд╛ рд╡рд╛рдкрд╕ рджрд┐рдпрд╛)ред рдлрд┐рд░, рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж, рдлрд┐рд░ рд╕реЗ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдорд╛рди рдмрдврд╝ рдЧрдП рд╣реИрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рд╣реБрдИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдВрдЧ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЯреАрдореЛрдВ рдХреЗ рдмреАрдЪ рдЙрди рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рджреМрд░рд╛рди рдХрднреА рдирд╣реАрдВ рдЬрд╛рдЧрддреА)ред рдЗрд╕рд▓рд┐рдП, рдЕрдм рдореБрдЭреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрдореА рд╣реБрдИ рд╣реИ (рдФрд░ рд╕рд┐рд░реНрдл рд░рдбрд╛рд░ рд╕реЗ рдиреАрдЪреЗ рдирд╣реАрдВ рдЙрдбрд╝ рд░рд╣реА рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рдордп рдХрд╛ 0.04% рдЦрдкрдд рдХрд░рддрд╛ рд╣реИ)ред

рд╡реИрд╕реЗ, рджреЛ рдФрд░ рд╕реНрдерд╛рди рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рджреВрд╕рд░рд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рд╛рдЪреАрди рдЧреБрдард▓реА рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ):

[рд░реВрдЯ @ oel6 ~] # рдХреИрдЯ / рдкреНрд░реЛрдХ / реи /реи sched sched / рд╢реЗрдбреНрдпреВрд▓
рдЦреЛрдЬреЗрдВ (27288, # рд╕реВрддреНрд░: 1)
- se.exec_start: 617547410.689282
se.vruntime: 2471987.542895
se.sum_exec_runtime: 1119.480311
se.statistics.wait_start: 0.000000
se.statistics.sleep_start: 0.000000
se.statistics.block_start: 617547410.689282
se.statistics.sleep_max: 0.089192
se.statistics.block_max: 60082.951331
se.statistics.exec_max: 1.110465
se.statistics.slice_max: 0.334211
se.statistics.wait_max: 0.812834
se.statistics.wait_sum: 724.745506
se.statistics.wait_count: 27211
se.statistics.iowait_sum: 0.000000
se.statistics.iowait_count: 0
se.nr_migrations: 312
se.statistics.nr_migrations_cold: 0
se.statistics.nr_failed_migrations_affine: 0
se.statistics.nr_failed_migrations_running: 96
se.statistics.nr_failed_migrations_hot: 1794
se.statistics.nr_lied_migrations: 150
se.statistics.nr_wakeups: 18507
se.statistics.nr_wakeups_sync: 1
se.statistics.nr_wakeups_migrate: 155
se.statistics.nr_wakeups_local: 18504
se.statistics.nr_wakeups_remote: 3
se.statistics.nr_wakeups_affine: 155
se.statistics.nr_wakeups_affine_attempts: 158
se.statistics.nr_wakeups_passive: 0
se.statistics.nr_wakeups_idle: 0
avg_atom: 0.041379
avg_per_cpu: 3.588077
nr_switches: 27054
nr_voluntary_switches: 9950
nr_involuntary_switches: 17104
se.load.weight: 1024
рдиреАрддрд┐: 0
prio: 120
рдШрдбрд╝реА-рдбреЗрд▓реНрдЯрд╛: 72

рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рд╕рдВрдЦреНрдпрд╛ nr_switches (рдЬреЛ nr_voluntary_switches + nr_involuntary_switches рдмрд░рд╛рдмрд░ рд╣реИ) рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

Nr_switches рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдКрдкрд░ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ 27054 рд╣реИ, рдФрд░ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ / proc / PID / рдЕрдиреБрд╕реВрдЪреА рдореЗрдВ рддреАрд╕рд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рднреА рд╕реНрдерд┐рдд рд╣реИ:

[рд░реВрдЯ @ oel6 ~] # рдХреИрдЯ / рдкреНрд░реЛрдХ / реи /реи sched sched / рд╢реЗрдбреНрдпреВрд▓реИрдЯ
1119480311 724745506 27054


рдФрд░ рдпрд╣ рдмрдврд╝рддрд╛ рдирд╣реАрдВ рд╣реИ ...

/ рдЦрд░реАрдж рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрд░ рдХрд░реНрдиреЗрд▓ рд░рд╕реЛрдИ рдХреА рдЦреЛрдЬ рдХрд░рдирд╛


рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдХрдард┐рди рдЬрдореА рд╣реБрдИ рд╣реИ :)ред рд╕реНрдЯреНрд░реЗрд╕ рдФрд░ рдкрд╕реНрдЯреИрдХ рдмреЗрдХрд╛рд░ рд╣реИрдВред рд╡реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреА рдореЗрдореЛрд░реА рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ptrace () рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рд▓рдЯрдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ ptrace () рдХреЙрд▓ рднреА рдЕрдкрдиреЗ рдЖрдк рд╣реИрдВрдЧ рд╣реЛ рдЬрд╛рддреА рд╣реИ (рд╡реИрд╕реЗ, I рдХрд┐рд╕реА рднреА рд╕рдордп рд╕реНрдЯреНрд░реЗрд╕ рдкрд░ рд╕реНрдЯреНрд░реЗрд╕ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ рдереА рдЬрдм рд╡рд╣ рд▓рдХреНрд╖реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдореИрдВрдиреЗ рдЪреЗрддрд╛рд╡рдиреА рджреА! :)

рд╣рдо рдпрд╣ рдХреИрд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рд╣рдо рдмрд┐рдирд╛ рд╕реНрдЯреНрд░реЗрд╕ рдпрд╛ рдкреАрд╕реНрдЯреИрдХ рдХреЗ рд▓рдЯрдХрд╛рдП рдереЗ? рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдо рдПрдХ рдЖрдзреБрдирд┐рдХ рдХреЛрд░ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ! рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ / рдЦрд░реАрдж / рдкреАрдЖрдИрдбреА тАЛтАЛ/ syscall!

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / proc / 27288 / syscall
262 0xffffffffffffff9c 0x20cf6c8 0x7fff97c52710 0x100 0x100 0x676e776f645f616d 0x7fff97c52658 0x390e2da8ea

Zashib! рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ???
рдЦреИрд░, рдЖрдорддреМрд░ рдкрд░ рдЗрди рдирдВрдмрд░реЛрдВ рдХреЛ рдХрд┐рд╕реА рдЪреАрдЬ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдпрджрд┐ рд╣рдо "0xAVeryBigNumber" рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬрд╝ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ (рдФрд░ рдЙрдиреНрд╣реЗрдВ pmap рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдФрд░ рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ рдЫреЛрдЯреА рд╣реИ, рддреЛ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд▓рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрди рдлрд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреА рдПрдХ рд╕рд░рдгреА (рдЬрд┐рд╕реЗ рдЖрдк / proc / PID / fd рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ), рдпрд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪреВрдВрдХрд┐ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИ! рддреЛ, рд╣рдо рдЕрдм рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ # 262 рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рдлрдВрд╕ рдЧрдИ рд╣реИ!

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирдВрдмрд░ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдУрдПрд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдУрдПрд╕ рд╕реЗ рд╕рд╣реА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред / Usr / рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "syscall *" рдХреА рддрд▓рд╛рд╢ рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдореЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рд▓рд┐рдирдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (64 рдмрд┐рдЯ) рдкрд░, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдлрд╝рд╛рдЗрд▓ /usr/include/asm/unistd_64.h рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЧрдИ рд╣реИрдВ:

[рд░реВрдЯ @ oel6 ~] # grep 262 /usr/include/asm/unistd_64.h
#define __NR_ newfstatat 262


рд╣рдо рд▓рдЧрднрдЧ рд╡рд╣рд╛рдБ рд╣реИрдВ! 262 рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ newfstatat рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрджрдореА рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдирд╛рдореЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдЯрд┐рдк рджреВрдВрдЧрд╛: рдпрджрд┐ рдореИрди рдкреЗрдЬ рдореЗрдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдирд╛рдо рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рддреНрдпрдпреЛрдВ рдФрд░ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЖрджрдореА pread64" рдХреЗ рдмрдЬрд╛рдп "рдЖрджрдореА" - рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрджрдореА рдХреЛ "рдирдпрд╛" рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛рдПрдВ) man fstatat ред рдЦреИрд░, рдпрд╛ рдмрд╕ рдЗрд╕реЗ google рдХрд░реЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ "рдирдпрд╛-fstat-at" рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рд╕рдорд╛рди рдлрд╝рд╛рдЗрд▓ рдЧреБрдгреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рд╣рдо рдмрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд▓рдЯрдХрд╛ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝ рдЧрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдЕрднреА рднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдлрд╝реНрд░реАрдЬрд╝ рдХреНрдпреЛрдВ рд╣реБрдЖ!

рдЦреИрд░, рдпрд╣ рдореЗрд░реЗ рдЫреЛрдЯреЗ рджреЛрд╕реНрдд / рдкреНрд░реЙрдк / рдкреАрдЖрдИрдбреА тАЛтАЛ/ рд╕реНрдЯреИрдХ рдХреЛ рдмрдзрд╛рдИ рджреЗрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдкрд░рдорд╛рдгреБ рд╕реНрдЯреИрдХ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдХреЗрд╡рд▓ рдЦрд░реАрдж-рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ !!!

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / рдкреНрд░реЛрдХ / реи /реи stack stack / рд╕реНрдЯреИрдХ
[] rpc_wait_bit_killable + 0x24 / 0x40 [sunrpc]
[] __rpc_execute + 0xf5 / 0x1d0 [sunrpc]
[] rpc_execute + 0x43 / 0x50 [sunrpc]
[] rpc_run_task + 0x75 / 0x90 [sunrpc]
[] rpc_call_sync + 0x42 / 0x70 [sunrpc]
[] nfs3_rpc_wrapper.clone.0 + 0x35 / 0x80 [nfs]
[] nfs3_proc_getattr + 0x47 / 0x90 [nfs]
[] __nfs_revalidate_inode + 0xcc / 0x1f0 [nfs]
[] nfs_revalidate_inode + 0x36 / 0x60 [nfs]
[] nfs _getattr + 0x5f / 0x110 [nfs]
[] vfs_getattr + 0x4e / 0x80
[] vfs_fstatat + 0x70 / 0x90
[] sys_ newfstatat + 0x24 / 0x50
[] system_call_fastpath + 0x16 / 0x1b
[] режxffffffffffffffff

рд╢реАрд░реНрд╖ рдлрд╝рдВрдХреНрд╢рди рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдо рдХрд░реНрдиреЗрд▓ рдХреЛрдб рдореЗрдВ рд╣реИрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ WCHAN рдХреНрд╖реЗрддреНрд░ рдиреЗ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдмрддрд╛ рджрд┐рдпрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдБ рдХреБрдЫ рдФрд░ рдХрд╛рд░реНрдп рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдлрд╝рдВрдХреНрд╢рди schedule() , рдЬреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╕реЛрддрд╛ рдпрд╛ рдЬрд╛рдЧрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдпрд╣рд╛рдБ рдирд╣реАрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред , рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ)ред

рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдХрд░реНрдиреЗрд▓ рд╕реНрдЯреИрдХ рд╣рд╛рде рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕реЗ рдиреАрдЪреЗ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ rpc_wait_bit_killable рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ rpc_wait_bit_killable рдХрд╛ рдХреЙрд▓ рдХреИрд╕реЗ рдЖрдпрд╛ рдФрд░ рд╣рдореЗрдВ рд╕реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рд▓ рджрд┐рдпрд╛ред

system_call_fastpath рдХреЙрд▓ рдорд╛рдирдХ рдХрд░реНрдиреЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╣реИрдВрдбрд▓рд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЙрд╕ рдХреЛрдб рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ newfstatat ( sys_newfstatat ) рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред "рдмрдЪреНрдЪреЗ" рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рд╣рдо рдПрдирдПрдлрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрдИ рдЪреАрдЬреЗрдВ рджреЗрдЦрддреЗ рд╣реИрдВред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 100% рдЕрдХрд╛рдЯреНрдп рдкреНрд░рдорд╛рдг рд╣реИ рдХрд┐ рд╣рдо рдПрдирдПрдлрдПрд╕ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛрдб рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╣реАрдВ рд╣реИрдВ! рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣рддрд╛ рдХрд┐ "рдПрдирдПрдлрдПрд╕ рдХреЛрдб рдореЗрдВ", рдЬрдм рддрдХ рд╣рдо рдКрдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЗрди рдПрдирдПрдлрдПрд╕ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЕрдВрддрд┐рдо, рдмрджрд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЖрд░рдкреАрд╕реА рдлрд╝рдВрдХреНрд╢рди (rpc_call_sync) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕рдВрднрд╡рддрдГ [kworker/N:N] , [nfsiod] , [lockd] рдпрд╛ [rpciod] IO рдХрд░реНрдиреЗрд▓ рдереНрд░реЗрдб рд╣реИред рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛рд░рдг рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди, рдкреИрдХреЗрдЯ рд╣рд╛рдирд┐, рдпрд╛ рдмрд╕ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╕рдВрджреЗрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрди рд╕рд╣рд╛рдпрдХ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд╕реЗ рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ-рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдореЗрдВ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдЖрдкрдХреЛ рдЙрдирдХреЗ рд╕реНрдЯреИрдХ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Kworkers рдХреЗрд╡рд▓ RPC рдХреЛ NFS рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдпреЛрдЧ (рдПрдирдПрдлрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реБрдП) рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдореЗрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдПрдХ рдХрд┐рд╡рд╛рд░ рдХреЛ рдкрдХрдбрд╝рд╛:

[рд░реВрдЯ @ oel6 proc] # рдХреЗ рд▓рд┐рдП рдореИрдВ `pgrep рдХрд╛рд░реНрдпрдХрд░реНрддрд╛` рдореЗрдВ; ps ps -fp $ i; рдмрд┐рд▓реНрд▓реА / рдЦрд░реАрдж / $ i / рд╕реНрдЯреИрдХ; рдХрд┐рдпрд╛
UID PID PPID C STIME TTY рд╕рдордп рд╕реАрдПрдордбреА
рдЬрдбрд╝ релрей реи реж рдлрд░рд╡рд░реА резрек? 00:04:34 [ kworker / 1: 1]

[] __cond_resched + 0x2a / 0x40
[] lock_sock_nested + 0x35 / 0x70
[] tcp_sendmsg + 0x29 / 0xbe0
[] inet_sendmsg + 0x48 / 0xb0
[] sock_sendmsg + 0xef / 0x120
[] kernel_sendmsg + 0x41 / 0x60
[] xs_send_kvec + 0x8e / 0xa0 [sunrpc]
[] xs_sendpages + 0x173 / 0x220 [sunrpc]
[] xs_tcp_send_request + 0x5d / 0x160 [sunrpc]
[] xprt_transmit + 0x83 / 0x2e0 [sunrpc]
[] call_transmit + 0xa8 / 0x130 [sunrpc]
[] __rpc_execute + 0x66 / 0x1d0 [sunrpc]
[] rpc_async_schedule + 0x15 / 0x20 [sunrpc]
[] process_one_work + 0x13e / 0x460
[] рдХрд╛рд░реНрдпрдХрд░реНрддрд╛_рдереНрд░реЗрдб + режxрез / рд╕реА / реж рдПрдХреНрд╕ рей рдмреА реж
[] kthread + 0x96 / 0xa0
[] kernel_thread_helper + 0x4 / 0x10

рдХрд░реНрдиреЗрд▓ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдирд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдХрд░реНрдиреЗрд▓ рдзрд╛рдЧреЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдЗрд╕реЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ (рдФрд░ рд╕рд░рд▓) рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдЕрднреНрдпрд╛рд╕ рд╣реЛрдиреЗ рджреЗрдВ!

рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдФрд░ "рдорд░рдореНрдордд"


рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдзреБрдирд┐рдХ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдХрд░реНрдиреЗрд▓ рд╕реНрдЯреИрдХ рдХрд╛ рдПрдХ рдкреНрд░рд┐рдВрдЯрдЖрдЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг (рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдХрд░реНрдиреЗрд▓ рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛), рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдЦреЛрдЬ рдХрдорд╛рдВрдб рдХреЛ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛рдП - рдЕрд░реНрдерд╛рддреН рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдПрдирдПрдлрдПрд╕ рдХреЛрдб рдореЗрдВред linuxред рдФрд░ рдЬрдм рдЖрдк рдПрдирдПрдлрдПрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВрдЧ-рдЕрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╕рдВрджреЗрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЙрддреНрд╕реБрдХ рд╣реИрдВ рдХрд┐ рдореИрдВрдиреЗ рд╕рдВрдХреЗрддрд┐рдд рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛, рддреЛ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рдореИрдВрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╕реЗ рдПрдирдПрдлрдПрд╕ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛, рдЦреЛрдЬ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рдпрд╛, рдФрд░ рдлрд┐рд░ рдорд╢реАрди рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рд╕рдорд╛рди рд▓рдХреНрд╖рдг рдереЗ рдЬреИрд╕реЗ рдХрд┐ рдХреЛрдИ рдиреЗрдЯрд╡рд░реНрдХ (рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдлрд╝рд╛рдпрд░рд╡реЙрд▓) рд╕рдорд╕реНрдпрд╛ рдереА, рдЬрд╣рд╛рдВ рдЯреАрд╕реАрдкреА рдПрдВрдб рдиреЛрдбреНрд╕ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЪреБрдкрдЪрд╛рдк рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдЬрд╣рд╛рдВ рдкреИрдХреЗрдЯ рдмрд╕ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред

рдЪреВрдВрдХрд┐ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ "рдХрд┐рд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп" рдлрд╝рдВрдХреНрд╢рди (рдЬрд┐рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, rpc_wait_bit_killable ) рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рд╣рдо рдЗрд╕реЗ kill -9 рдХрдорд╛рдВрдб рд╕реЗ kill -9 рд╕рдХрддреЗ рд╣реИрдВ:

[рд░реВрдЯ @ oel6 ~] # ps -fp реи .реи66
UID PID PPID C STIME TTY рд╕рдордп рд╕реАрдПрдордбреА
рд░реВрдЯ 27288 27245 0 11:57 рдкреАрдЯреАрдПрд╕ / 0 00:00:01 рдЦреЛрдЬреЗрдВред -рдкреНрд░рдХрд╛рд░ f
[рд░реВрдЯ @ oel6 ~] # рдорд╛рд░-реп реи .реи .6

[рд░реВрдЯ @ oel6 ~] # ls -l / proc / реи /реи stack stack / рд╕реНрдЯреИрдХ
ls: рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ / рдЦрд░реАрдж рдирд╣реАрдВ рд╕рдХрддреЗ / 27288 / рд╕реНрдЯреИрдХ: рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ

[рд░реВрдЯ @ oel6 ~] # ps -fp реи .реи66
UID PID PPID C STIME TTY рд╕рдордп рд╕реАрдПрдордбреА
[рд░реВрдЯ @ oel6 ~] #

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреВрд░реА рд╣реЛ рдЧрдИ рд╣реИред

рд░реВрдкрд░реЗрдЦрд╛ рдХрд░реНрдиреЗрд▓ рдереНрд░реЗрдбреНрд╕ "рдШреБрдЯрдиреЗ рдкрд░"


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ / proc / PID / рд╕реНрдЯреИрдХ рдПрдХ рдирд┐рдпрдорд┐рдд рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдХрд░реНрдиреЗрд▓ рдереНрд░реЗрдб рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ! рд╡рд░реНрддрдорд╛рди рдкреНрд░рдгрд╛рд▓реА рдХреЙрд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрд░реНрдиреЗрд▓ рд╕реНрдЯреИрдХ (рдпрджрд┐ рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рд╣реИрдВ) рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк "рдШреБрдЯрдиреЗ рдкрд░" рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рд╕рдм рдХреЛ рдПрдХ рдЕрд░реНрдз-рд╢реНрд░реЗрдгреАрдмрджреНрдз рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ:

[рд░реВрдЯ @ oel6 ~] # рдирд┐рд░реНрдпрд╛рдд LC_ALL = C ; i рдореЗрдВ {1..100} рдХреЗ рд▓рд┐рдП; do cat / proc / 29797 / syscall | awk '{рдкреНрд░рд┐рдВрдЯ $ 1}'; cat / proc / 29797 / рд╕реНрдЯреИрдХ | / рд╣реЛрдо / рдУрд░реЗрдХрд▓ / os_explain -k; usleep 100000; рд╣реЛ рдЧрдпрд╛ | рд╕реЙрд░реНрдЯ -r | uniq -c

  69 рдЪрд▓ рд░рд╣рд╛ рд╣реИ
       1 ffffff81534c83
       2 ffffff81534820
       6247
      25,180 

     100 0xffffffffffffffff 
       1 рдереНрд░реЗрдб_рдЧреНрд░реБрдк_ рдХреНрд░рд┐рдкреНрдЯрд╛рдЗрдо 
      27 sysenter_dispatch 
       3 ia32_sysret 
       1 task_sched_runtime 
      27 sys32_pread 
       1 рдХрдВрдкреНтАНрд▓реАрдЯ_рд╕рд┐рдЬ_рдпреЛ_рд╕реБрдмрдорд┐рдЯ 
       2 рдХрдВрдкреНрд░реЗрд╢рд░_рдПрд╕рд╡рд╛рдИ_рдУ_рдЧреЗрдЯрд╡реЗрдВрдЯреНрд╕ 
      27 sys_pread64 
       2 sys_io_getevents 
       1 do_io_submit 
      27 vfs_read 
       2 read_events 
       1 io_submit_one 
      27 do_sync_read 
       1 aio_run_iocb 
      27 рдЬреЗрдиреЗрд░рд┐рдХ_рдлрд╛рдЗрд▓_рдСрдпреЛ_реНрд░реЗрдб 
       1 aio_rw_vect_retry 
      27 рдЬреЗрдиреЗрд░рд┐рдХ_рдлрд╛рдЗрд▓_рдбрд░_рдЯрд░ 
       1 рдЬреЗрдиреЗрд░рд┐рдХ_рдлрд╛рдЗрд▓_рдСрдпреЛ_реНрд░реЗрдб 
      27 mapping_direct_IO 
       1 рдЬреЗрдиреЗрд░рд┐рдХ_рдлрд╛рдЗрд▓_рдбреНрд░реЗрдб_рдЯрд░ 
      27 blkdev_direct_IO 
      27 __blockdev_direct_IO 
      27 do_blockdev_direct_IO 
      27 dio_post_submission 
      27 dio_await_completion 
       6 blk_flush_plug_list


рдпрд╣ рдЖрдкрдХреЛ рдмрд╣реБрдд рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдпрд╣ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдирд╛ рд╕рдордп рдХрд╣рд╛рдВ рдЦрд░реНрдЪ рдХрд░рддреА рд╣реИ (рдпрджрд┐ рдмрд┐рд▓реНрдХреБрд▓ рднреА)ред рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирдВрдмрд░ рд╢реАрд░реНрд╖ рдкрд░ рдЕрд▓рдЧ рд╕реЗ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВред "рд░рдирд┐рдВрдЧ" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдирд┐рджрд╛рди рдХреЗ рджреМрд░рд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ (рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рдирд╣реАрдВ)ред рдЗрд╕рд▓рд┐рдП, 69% рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдореЗрдВ рдереА; рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдкрд░ 25% # 180 (рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ nfsservctl), рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдкрд░ 6% # 247 (рд╡реЗрдЯрд┐рдб)ред

рдКрдкрд░, рд▓реЗрдЦрдХ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рд╣реЛрдо / рдУрд░реЗрдХрд▓ / os_explain рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд▓рдЧрднрдЧред рдЯреНрд░рд╛рдВрд╕ред

рдЖрдЙрдЯрдкреБрдЯ рджреЛ рдФрд░ "рдлрд╝рдВрдХреНрд╢рди" рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╡реЗ рдирд╛рдо рд╕реЗ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реБрдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдирдХреЗ рдкрддреЗ рдЬреНрдЮрд╛рдд рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬрд╛рдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ:

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / proc / kalls Gym | grep -i ffffff81534c83
ffffffff81534c83 t ia32_sysret

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ 32-рдмрд┐рдЯ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕реЗ рдПрдХ рд╡рд╛рдкрд╕реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪреВрдВрдХрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирд╣реАрдВ рд╣реИ (рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ), рдЬрд╛рд╣рд┐рд░ рд╣реИ / proc / stack рд╣реИрдВрдбрд▓рд░ рдиреЗ рдЕрдкрдирд╛ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдпреЗ рдкрддреЗ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ / proc рд╕реНрдерд┐рддрд┐ рдкрд╛рдардХ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИ: рдЬрдмрдХрд┐ рдПрдХ рдереНрд░реЗрдб рдЗрди рдореЗрдореЛрд░реА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдереНрд░реЗрдб рдХреЛ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рддрддреНрд╡ рдХрднреА-рдХрднреА рдмрд╛рд╕реА рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред

рдЙрд╕реА рд╕рдордп рджреВрд╕рд░рд╛ рдкрддрд╛ рдЬрд╛рдВрдЪреЗрдВ:

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / proc / kalls Gym | grep -i ffffff81534820
[рд░реВрдЯ @ oel6 ~] #

рдХреНрдпрд╛ рдХреБрдЫ рдирд╣реАрдВ рдорд┐рд▓рд╛? рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбрд┐рдмрдЧрд┐рдВрдЧ рдпрд╣рд╛рдБ рдЦрддреНрдо рдирд╣реАрдВ рд╣реБрдИ рд╣реИ! рдЖрдЗрдП рдЗрд╕ рдкрддреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рджреЗрдЦреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрддрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЕрдВрдХреЛрдВ рдХреЗ рдЕрдВрддрд┐рдо рдЬреЛрдбрд╝реЗ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ:

[рд░реВрдЯ @ oel6 ~] # рдмрд┐рд▓реНрд▓реА / proc / kalls Gym | grep -i ffffff815348
ffffffff8153480d t sysenter_do_call
ffffffff81534819 t sysenter_dispatch
ffffffff81534847 t sysexit_from_sys_call
ffffffff8153487a t sysenter_auditsys
ffffffff815348b9 t sysexit_audit

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ sysenter_dispatch рдлрд╝рдВрдХреНрд╢рди рдореВрд▓ рдкрддреЗ рд╕реЗ рдкрд╣рд▓реЗ / рдмрд╛рдЗрдЯ / PID / рд╕реНрдЯреИрдХ рдореЗрдВ рдореИрдк рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдмрд╛рдЗрдЯ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд▓рдЧрднрдЧ рдПрдХ рдмрд╛рдЗрдЯ (рд╢рд╛рдпрдж рдЧрддрд┐рд╢реАрд▓ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдВ рд╕реНрдерд┐рдд рдПрдирдУрдкреА рдХрдорд╛рдВрдб) рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ рдХреЗ рдпреЗ рдЯреБрдХрдбрд╝реЗ sysenter_dispatch рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реИрдВ, рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред ( рдпрджрд┐ рдЖрдк рдереЛрдбрд╝рд╛ рдЦреЛрджрддреЗ рд╣реИрдВ - рд╡рд╣рд╛рдБ рдЕрднреА рднреА рдЕрдВрддрд░ 1 рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди 7 рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВред рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╣реИрдВ! - рд▓рдЧрднрдЧред рдЕрдиреБрд╡рд╛рдж

рд╕реНрдЯреИрдХ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдкрд░ рдЕрдзрд┐рдХ


рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреИрдХ рдкреНрд░рдореЛрд╢рди рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ, рдЬреИрд╕реЗ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкрд░рдлреЗрдХреНрдЯ, рд╕реЛрд▓рд╛рд░рд┐рд╕ рдкрд░ DTrace рд╕реЗ Oprofile рдФрд░ profile рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреЙрдЗрдВрдЯрд░ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ (32-рдмрд┐рдЯ рдЗрдВрдЯреЗрд▓ рдкрд░ EIP рдпрд╛ X64 рдкрд░ RIP) рдХреЛ рдареАрдХ рдХрд░рддреА рд╣реИрдВ, рд╕рд╛рде рд╣реА 32 рдмрд┐рдЯ рдФрд░ RSP рдкрд░ рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░ (ESP) рдкрд░ рднреАред x64) рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗрд╡рд▓ рдЙрди рдереНрд░реЗрдбреНрд╕ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рдордп рд╕реАрдкреАрдпреВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ!рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЕрджреНрднреБрдд рд╣реИ рдЬрдм рд╣рдо рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдореГрдд-рдмрдВрдж рдпрд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ / рд╣рд╛рдЗрдмрд░рдиреЗрдЯрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд┐рджрд╛рди рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИред

Linux, Solaris, HP-UX, procstack (AIX рдкрд░), ORADEBUG SHORT_STACK рдкрд░ pstack рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдФрд░ рдмрд╕ / proc / PID / stack рдЫрджреНрдо-рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдирд╛ рд╕реАрдкреАрдпреВ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд (рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ) рд╣реИрдВ - рдЬрдм рддрдХ рд╡реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рджреЗрддреЗред рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдВ рдЕрдкрдиреЗ рд░рд╛рдЬреНрдп рд╕реЗ рдФрд░ рд╕реНрдЯреИрдХ рдХреЛ рд╡рд╣реАрдВ рд╕реЗ рдкрдврд╝реЗрдВред рдпрджрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЛрддреА рд╣реИ рдФрд░ рд╕реАрдкреАрдпреВ рдХреЛ рдирд╣реАрдВ рдЫреВрддреА рд╣реИ, рддреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдХреЛ рд╕рд╣реЗрдЬреЗ рдЧрдП рд╕рдВрджрд░реНрдн рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдЬрд┐рд╕реЗ рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдУрдПрд╕ рдЕрдиреБрд╕реВрдЪрдХ рджреНрд╡рд╛рд░рд╛ рдХрд░реНрдиреЗрд▓ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ pstack, OProfile, Perf, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ CPC рдкреНрд░рджрд╛рддрд╛ рд╕реЗ DTrace (Solaris11 рдкрд░) рдореЗрдВ рдЕрдзрд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдореЛрд░реА рдПрдХреНрд╕реЗрд╕ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рдЫреВрдЯреА рд╣реБрдИ рд╕реАрдкреАрдпреВ рд╕рд╛рдЗрдХрд┐рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рдЙрдВрдЯрд░ рд╕реЗрдЯ рдФрд░ рдкрдврд╝реЗрдВ; L1 / L2 рдХреИрд╢ рдЗрддреНрдпрд╛рджрд┐ рдХреА рд╕рдВрдЦреНрдпрд╛ рдпрд╛рдж рдЖрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреЗрд╡рд┐рди рдХреНрд▓реЙрд╕рди рдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд▓рд┐рдЦрд╛ рд╣реИ рдЙрд╕реЗ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдкрдврд╝реЗрдВ: ( рдкрд░рдлрд╝реЗрдХреНрдЯ , рдкрд░рдлрд╝реЗрдХреНрдЯ )

рд╕реМрднрд╛рдЧреНрдп

рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдп


Source: https://habr.com/ru/post/In209446/


All Articles