.\" Copyright 1994-1995, Daniel Quinlan .\" Copyright 2002-2017, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .TH proc_timer_stats 5 2026-02-08 "Linux man-pages 6.19" .SH "نام (NAME)" /proc/timer_stats \- آمار زمان‌سنج‌ها .SH "توضیحات (DESCRIPTION)" .TP .IR /proc/timer_stats " (از لینوکس 2.6.21 تا لینوکس 4.10)" .\" commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221 .\" Date: Fri Feb 16 01:28:13 2007 -0800 .\" Text largely derived from Documentation/timers/timer_stats.txt .\" removed in commit dfb4357da6ddbdf57d583ba64361c9d792b0e0b1 .\" Date: Wed Feb 8 11:26:59 2017 -0800 این یک قابلیت اشکال‌زدایی است تا استفاده (یا سوءاستفاده) از زمان‌سنج‌ها در یک سیستم لینوکس را برای توسعه‌دهندگان هسته و فضای کاربری آشکار سازد. این قابلیت می‌تواند توسط توسعه‌دهندگان هسته و فضای کاربری برای اطمینان از اینکه کد آنها استفاده بی‌مورد از زمان‌سنج‌ها نمی‌کند، به کار رود. هدف، جلوگیری از بیدارباش‌های غیرضروری و در نتیجه بهینه‌سازی مصرف انرژی است. .IP در صورت فعال بودن در هسته .RB ( CONFIG_TIMER_STATS )، اما بدون استفاده بودن، سربار زمان اجرای آن تقریباً صفر بوده و سربار ساختار داده نسبتاً اندکی دارد. حتی در صورت فعال بودن جمع‌آوری داده‌ها در زمان اجرا، سربار اندک است: تمام قفل‌گذاری‌ها به ازای هر پردازنده (per-CPU) انجام می‌شود و جست‌وجو به‌صورت درهم‌سازی (هش) است. .IP فایل .I /proc/timer_stats هم برای کنترل قابلیت نمونه‌برداری و هم برای خواندن اطلاعات نمونه‌برداری‌شده استفاده می‌شود. .IP قابلیت .I timer_stats هنگام راه‌اندازی سیستم غیرفعال است. یک دوره نمونه‌برداری را می‌توان با استفاده از دستور زیر آغاز کرد: .IP .in +4n .EX # echo 1 > /proc/timer_stats .EE .in .IP دستور زیر یک دوره نمونه‌برداری را متوقف می‌کند: .IP .in +4n .EX # echo 0 > /proc/timer_stats .EE .in .IP آمارها را می‌توان با دستور زیر دریافت کرد: .IP .in +4n .EX $ cat /proc/timer_stats .EE .in .IP تا زمانی که نمونه‌برداری فعال است، هر بار خواندن از .I /proc/timer_stats آمارهای تازه به‌روزرسانی‌شده را نشان خواهد داد. به محض غیرفعال شدن نمونه‌برداری، اطلاعات نمونه‌برداری‌شده تا زمان آغاز یک دوره نمونه‌برداری جدید نگهداری می‌شود. این امر امکان چندین بار خواندن را فراهم می‌سازد. .IP نمونه خروجی از .IR /proc/timer_stats : .IP .in +4n .EX .RB $ " cat /proc/timer_stats" Timer Stats Version: v0.3 Sample period: 1.764 s Collection: active 255, 0 swapper/3 hrtimer_start_range_ns (tick_sched_timer) 71, 0 swapper/1 hrtimer_start_range_ns (tick_sched_timer) 58, 0 swapper/0 hrtimer_start_range_ns (tick_sched_timer) 4, 1694 gnome\-shell mod_delayed_work_on (delayed_work_timer_fn) 17, 7 rcu_sched rcu_gp_kthread (process_timeout) \&... 1, 4911 kworker/u16:0 mod_delayed_work_on (delayed_work_timer_fn) 1D, 2522 kworker/0:0 queue_delayed_work_on (delayed_work_timer_fn) 1029 total events, 583.333 events/sec .EE .in .IP ستون‌های خروجی عبارتند از: .RS .IP [1] 5 تعداد رویدادها، که به‌صورت اختیاری (از لینوکس 2.6.23) با حرف \[aq]D\[aq] دنبال می‌شود .\" commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 deferrable timers اگر این یک زمان‌سنج قابل تعویق (deferrable) باشد؛ .IP [2] شناسه فرایند (PID) فرایندی که زمان‌سنج را مقداردهی اولیه کرده است؛ .IP [3] نام فرایندی که زمان‌سنج را مقداردهی اولیه کرده است؛ .IP [4] تابعی که زمان‌سنج در آن مقداردهی اولیه شده است؛ و (درون پرانتز) تابع بازخوانی (callback) که با زمان‌سنج مرتبط است. .RE .IP در طول چرخه توسعه لینوکس 4.11، این فایل به دلیل نگرانی‌های امنیتی حذف شد، زیرا اطلاعات را در سراسر فضاهای نام افشا می‌کرد. علاوه بر این، امکان دستیابی به اطلاعات مشابه از طریق امکانات ردیابی درون‌هسته‌ای مانند ftrace وجود دارد. .SH "همچنین ببینید (SEE ALSO)" .BR proc (5)