English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

أمر time في Linux

مجمع الأوامر في لينكس

يستخدم أمر time في Linux لقياس الوقت وال موارد التي استخدمها الأمر المحدد عند تنفيذه.

مثل وقت المعالجة المركزية، ذاكرة الوصول العشوائي، الدخول والخروج، وما إلى ذلك. يجب الانتباه بشكل خاص إلى أن بعض المعلومات لا تظهر في Linux. هذا بسبب أن دوال توزيع الموارد في Linux لا تكون متطابقة مع الطريقة المسبقة للتعليمات time، مما يجعل التعليمات time غير قادرة على الحصول على هذه البيانات.

النحو

time [خيارات] أمر [معطيات]

المعلمات:

  • -o أو --output=FILE: أعدادات ملف الناتج. سينسخ هذا الخيار输出来 إلى الملف المحدد. إذا كان الملف موجودًا، سيقوم النظام بتغطية محتواه.
  • -a أو --append: عند استخدام -o، سيتم كتابة النتائج في نهاية الملف دون تغطية المحتوى الأصلي.
  • -f FORMAT أو --format=FORMAT: ضع خيار عرضي من نوع FORMAT. عند عدم تعيين هذا الخيار، سيتم استخدام تنسيق النظام المسبق. ومع ذلك، يمكنك استخدام متغير البيئة time لتعيين هذا التنسيق، مما يجعل من غير الضروري تعيينه كل مرة تقوم بالدخول إلى النظام.

يمكن للتعليمات time أن تظهر أربعة أصول رئيسية، وهي:

  • موارد الوقت
  • موارد الذاكرة
  • IO resources
  • Command info

详细的内容如下:

1、Time Resources

E 执行指令所花费的时间,格式是:[hour]:minute:second。请注意这个数字并不代表实际的 CPU 时间。

e 执行指令所花费的时间,单位是秒。请注意这个数字并不代表实际的 CPU 时间。

S 指令执行时在核心模式(kernel mode)所花费的时间,单位是秒。

U 指令执行时在使用者模式(user mode)所花费的时间,单位是秒。

P 执行指令时 CPU 的占用比例。其实这个数字就是核心模式加上使用者模式的 CPU 时间除以总时间。

2、Memory Resources

M 执行时所占用的实体记忆体的最大值。单位是 KB

t 执行时所占用的实体记忆体的平均值,单位是 KB

K 执行程序所占用的记忆体总量(stack+data+text)的平均大小,单位是 KB

D 执行程序的自有资料区(unshared data area)的平均大小,单位是 KB

p 执行程序的自有堆叠(unshared stack)的平均大小,单位是 KB

X 执行程序间共享内容(shared text)的平均值,单位是 KB

Z 系统记忆体页的大小,单位是 byte。对同一个系统来说这是个常数

3、IO Resources

F 此程序的主要记忆体页错误发生次数。所谓的主要记忆体页错误是指某一记忆体页已经置换到置换档(swap file)中,而且已经分配给其他程序。此时该页的内容必须从置换档里再读出来。

R 此程序的次要记忆体页错误发生次数。所谓的次要记忆体页错误是指某一记忆体页虽然已经置换到置换档中,但尚未分配给其他程序。此时该页的内容并未被破坏,不必从置换档里读出来

W 此程序被交换到置换档的次数

c 此程序被强迫中断(像是分配到的 CPU 时间耗尽)的次数

w 此程序自愿中断(像是在等待某一个 I/O 执行完毕,像是磁碟读取等等)的次数

I 此程序所输入的档案数

O 此程序所输出的档案数

r 此程序所收到的 Socket Message

s 此程序所送出的 Socket Message

k 此程序所收到的信号 ( Signal ) 数量

4、Command Info

C 执行时的参数以及指令名称

x رمز حالة إنهاء الأمر (Exit Status)

-p أو --portability: هذا الخيار يقوم بضبط تنسيق العرض تلقائيًا ليكون:

real %e user %Usys %S: الهدف من هذا هو التكامل مع معيار POSIX.

-v أو --verbose: هذا الخيار يعرض جميع الموارد المستخدمة في البرنامج، ليس فقط مثل الجملة الإنجليزية العادية، بل أيضًا مع الشرح. مفيد جدًا للذين لا يريدون أن يقضوا الوقت في تعلم إعدادات التنسيق أو الذين يبدأون للتو في التعامل مع هذا الأمر.

مثال على الإنترنت

1. # time date
2. Sun Mar 26 22:45:34 GMT-8 2006
3. 
4. real 0m0.136s
5. user 0m0.010s
6. sys 0m0.070s
7. #

في هذا المثال، يتم تنفيذ الأمر "time date" (انظر السطر الأول).

يبدأ النظام في تنفيذ الأمر "date"، حيث يكون السطر الثاني هو نتيجة تنفيذ الأمر "date".

السطور من 3 إلى 6 هي نتائج حساب وقت تنفيذ الأمر "date"، حيث تكون السطر الرابع "real" وقت الفعل، والسطر الخامس "user" وقت CPU للمستخدم، والسطر السادس "sys" وقت CPU للنظام.

تنسيقات عرض الوقت الثلاثة أعلاه هي MMmNN[.FFF]s.

باستخدام الأمر التالي

time -v ps -aux

يمكننا الحصول على نتائج تنفيذ الأمر "ps -aux" وكمية الموارد التي تم استهلاكها. كما هو موضح في المعلومات التالية:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.4 1096 472 ? S Apr19 0:04 init
root 2 0.0 0.0 0 0 ? SW Apr19 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Apr19 0:00 [kpiod]
......
root 24269 0.0 1.0 2692 996 pts/3 R 12:16 0:00 ps -aux
الأمر الذي يتم توقيت تنفيذه: "ps -aux"
وقت المستخدم (الثواني): 0.05
وقت النظام (الثواني): 0.06
نسبة CPU التي حصلت عليها هذه المهمة: 68%
وقت المدة (ساعة:دقيقة:ثانية أو دقيقة:ثانية): 0:00.16
Average shared text size (kbytes): 0
حجم النص المشارك العادي (كيلو بايت): 0
حجم البيانات غير المشاركة العادية (كيلو بايت): 0
حجم الدليل العادي (كيلو بايت): 0
حجم المجموع الكلي العادي (كيلو بايت): 0
حجم مجموعة السكنية القصوى (كيلو بايت): 0
حجم مجموعة السكنية العادية (كيلو بايت): 0
الصفحة الكبيرة (إعداد I/O): 238
الصفحة الصغيرة (استعادة الإطار): 46
التبديل الإرادي: 0
التبديل غير الإرادي: 0
أوامر النظام المدخلة: 0
أوامر النظام للنظام المضيف: 0
رسائل套 الوجه المرسلة: 0
رسائل套 الوجه المقدمة: 0
الإشارات المقدمة: 0
حجم الصف (بقوات الثمانية): 4096
حالة الخروج: 0

مجمع الأوامر في لينكس