From e210c66d567c6dbd6b29bc89dc72b5327909bab1 Mon Sep 17 00:00:00 2001 From: Tao Zhou <ouwen210@hotmail.com> Date: Fri, 24 Jul 2020 10:47:42 +0800 Subject: [PATCH] doc/zh_CN: add cpu-load Chinese version Add cpu-load Chinese version and link it into admin-guide. Based on Alex's recent thread: https://lkml.kernel.org/r/20200713115807.56362-1-alex.shi@linux.alibaba.com Reviewed-by: Alex Shi <alex.shi@linux.alibaba.com> Signed-off-by: Tao Zhou <ouwen210@hotmail.com> Link: https://lore.kernel.org/r/BL0PR14MB37798BBF2307910DE73EF6D49A770@BL0PR14MB3779.namprd14.prod.outlook.com Signed-off-by: Jonathan Corbet <corbet@lwn.net> --- .../zh_CN/admin-guide/cpu-load.rst | 105 ++++++++++++++++++ .../translations/zh_CN/admin-guide/index.rst | 2 +- 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 Documentation/translations/zh_CN/admin-guide/cpu-load.rst diff --git a/Documentation/translations/zh_CN/admin-guide/cpu-load.rst b/Documentation/translations/zh_CN/admin-guide/cpu-load.rst new file mode 100644 index 0000000000000..0116d04777994 --- /dev/null +++ b/Documentation/translations/zh_CN/admin-guide/cpu-load.rst @@ -0,0 +1,105 @@ +======= +CPU è´è½½ +======= + +Linuxéè¿``/proc/stat``å``/proc/uptime``导åºåç§ä¿¡æ¯ï¼ç¨æ·ç©ºé´å·¥å · +å¦top(1)使ç¨è¿äºä¿¡æ¯è®¡ç®ç³»ç»è±è´¹å¨æ个ç¹å®ç¶æçå¹³åæ¶é´ã +ä¾å¦ï¼ + + $ iostat + Linux 2.6.18.3-exp (linmac) 02/20/2007 + + avg-cpu: %user %nice %system %iowait %steal %idle + 10.01 0.00 2.92 5.44 0.00 81.63 + + ... + +è¿éç³»ç»è®¤ä¸ºå¨é»è®¤éæ ·å¨æå §æ10.01%çæ¶é´å·¥ä½å¨ç¨æ·ç©ºé´ï¼2.92%çæ¶ +é´ç¨å¨ç³»ç»ç©ºé´ï¼æ»ä½ä¸æ81.63%çæ¶é´æ¯ç©ºé²çã + +大å¤æ°æ åµä¸``/proc/stat``çä¿¡æ¯å ä¹çå®åæ äºç³»ç»ä¿¡æ¯ï¼ç¶èï¼ç±äºå +æ ¸ééè¿äºæ°æ®çæ¹å¼/æ¶é´çç¹ç¹ï¼ææ¶è¿äºä¿¡æ¯æ ¹æ¬ä¸å¯é ã + +é£ä¹è¿äºä¿¡æ¯æ¯å¦ä½è¢«æéçå¢ï¼æ¯å½æ¶é´ä¸æ触åæ¶ï¼å æ ¸æ¥çæ¤å»è¿è¡ç +è¿ç¨ç±»åï¼å¹¶å¢å ä¸æ¤ç±»å/ç¶æè¿ç¨å¯¹åºç计æ°å¨çå¼ãè¿ç§æ¹æ³çé®é¢æ¯ +å¨ä¸¤æ¬¡æ¶é´ä¸æä¹é´ç³»ç»ï¼è¿ç¨ï¼è½å¤å¨å¤ç§ç¶æä¹é´åæ¢å¤æ¬¡ï¼è计æ°å¨åª +å¢å æåä¸ç§ç¶æä¸ç计æ°ã + +ä¸¾ä¾ +--- + +å设系ç»æä¸ä¸ªè¿ç¨ä»¥å¦ä¸æ¹å¼å¨ææ§å°å ç¨cpu:: + + 两个æ¶éä¸æä¹é´çæ¶é´çº¿ + |-----------------------| + ^ ^ + |_ å¼å§è¿è¡ | + |_ å¼å§ç¡ç + ï¼å¾å¿«ä¼è¢«å¤éï¼ + +å¨ä¸é¢çæ åµä¸ï¼æ ¹æ®``/proc/stat``çä¿¡æ¯ï¼ç±äºå½ç³»ç»å¤äºç©ºé²ç¶ææ¶ï¼ +æ¶é´ä¸æç»å¸¸ä¼åçï¼ç³»ç»çè´è½½å°ä¼æ¯0 + +大家è½å¤æ³è±¡å æ ¸çè¿ç§è¡ä¸ºä¼åçå¨è®¸å¤æ åµä¸ï¼è¿å°å¯¼è´``/proc/stat`` +ä¸åå¨ç¸å½å¤æªçä¿¡æ¯:: + + /* gcc -o hog smallhog.c */ + #include <time.h> + #include <limits.h> + #include <signal.h> + #include <sys/time.h> + #define HIST 10 + + static volatile sig_atomic_t stop; + + static void sighandler (int signr) + { + (void) signr; + stop = 1; + } + static unsigned long hog (unsigned long niters) + { + stop = 0; + while (!stop && --niters); + return niters; + } + int main (void) + { + int i; + struct itimerval it = { .it_interval = { .tv_sec = 0, .tv_usec = 1 }, + .it_value = { .tv_sec = 0, .tv_usec = 1 } }; + sigset_t set; + unsigned long v[HIST]; + double tmp = 0.0; + unsigned long n; + signal (SIGALRM, &sighandler); + setitimer (ITIMER_REAL, &it, NULL); + + hog (ULONG_MAX); + for (i = 0; i < HIST; ++i) v[i] = ULONG_MAX - hog (ULONG_MAX); + for (i = 0; i < HIST; ++i) tmp += v[i]; + tmp /= HIST; + n = tmp - (tmp / 3.0); + + sigemptyset (&set); + sigaddset (&set, SIGALRM); + + for (;;) { + hog (n); + sigwait (&set, &i); + } + return 0; + } + + +åè +--- + +- http://lkml.org/lkml/2007/2/12/6 +- Documentation/filesystems/proc.rst (1.8) + + +谢谢 +--- + +Con Kolivas, Pavel Machek diff --git a/Documentation/translations/zh_CN/admin-guide/index.rst b/Documentation/translations/zh_CN/admin-guide/index.rst index 76637ff880c52..7d502fa5da64e 100644 --- a/Documentation/translations/zh_CN/admin-guide/index.rst +++ b/Documentation/translations/zh_CN/admin-guide/index.rst @@ -55,6 +55,7 @@ Todolist: :maxdepth: 1 clearing-warn-once + cpu-load Todolist: @@ -71,7 +72,6 @@ Todolist: cgroup-v1/index cgroup-v2 cifs/index - cpu-load cputopology dell_rbu device-mapper/index -- 2.39.5