真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linuxtick命令的簡(jiǎn)單介紹

linux下如何定期自動(dòng)更新時(shí)間

Can use ntpdate or rdate command to sync the datetime with remote server.

創(chuàng)新互聯(lián)公司:自2013年創(chuàng)立以來(lái)為各行業(yè)開(kāi)拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千公司企業(yè)提供了專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站推廣服務(wù), 按需策劃設(shè)計(jì)由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶(hù)的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺(jué)效果,策劃師分析客戶(hù)的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶(hù)的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶(hù)同行業(yè)具有領(lǐng)先地位的。

i.e.:

# ntpdate remote_server

or

# rdate -s remote_server

Also, sync the remote server periodically is a good idea!

# crontab -e

# auto sync with time server at 0:00 everyday

0 0 * * * rdate -t 60 -s stdtime.gov.hk記住,更新完后要用 clock -w 或 hwclock -w 實(shí)時(shí)間寫(xiě)入到BIOS中,這樣下次啟動(dòng)機(jī)子時(shí),時(shí)間就會(huì)自動(dòng)更新了。 1.在虛擬終端中使用date命令來(lái)查看和設(shè)置系統(tǒng)時(shí)間查看系統(tǒng)時(shí)鐘的操作:# date設(shè)置系統(tǒng)時(shí)鐘的操作:# date 091713272003.30通用的設(shè)置格式:# date 月日時(shí)分年.秒2.使用hwclock或clock命令查看和設(shè)置硬件時(shí)鐘查看硬件時(shí)鐘的操作:# hwclock --show 或# clock --show2003年09月17日 星期三 13時(shí)24分11秒 -0.482735 seconds設(shè)置硬件時(shí)鐘的操作:# hwclock --set --date="09/17/2003 13:26:00"或者# clock --set --date="09/17/2003 13:26:00"通用的設(shè)置格式:hwclock/clock --set --date=“月/日/年 時(shí):分:秒”。3.同步系統(tǒng)時(shí)鐘和硬件時(shí)鐘Linux系統(tǒng)(筆者使用的是Red Hat 8.0,其它系統(tǒng)沒(méi)有做過(guò)實(shí)驗(yàn))默認(rèn)重啟后,硬件時(shí)鐘和系統(tǒng)時(shí)鐘同步。如果不大方便重新啟動(dòng)的話(服務(wù)器通常很少重啟),使用clock或hwclock命令來(lái)同步系統(tǒng)時(shí)鐘和硬件時(shí)鐘。硬件時(shí)鐘與系統(tǒng)時(shí)鐘同步:# hwclock --hctosys或者# clock --hctosys上面命令中,--hctosys表示Hardware Clock to SYStem clock。系統(tǒng)時(shí)鐘和硬件時(shí)鐘同步:# hwclock --systohc或者# clock --systohc使用圖形化系統(tǒng)設(shè)置工具設(shè)置時(shí)間對(duì)于初學(xué)者來(lái),筆者推薦使用圖形化的時(shí)鐘設(shè)置工具,如Red Hat 8.0中的日期與時(shí)間設(shè)置工具,可以在虛擬終端中鍵“redhat-config-time”命令,或者選擇“K選單/系統(tǒng)設(shè)置/日期與時(shí)間”來(lái)啟動(dòng)日期時(shí)間設(shè)置工具。使用該工具不必考慮系統(tǒng)時(shí)間和硬件時(shí)間,只需從該對(duì)話框中設(shè)置日期時(shí)間,可同時(shí)設(shè)置、修改系統(tǒng)時(shí)鐘和硬件時(shí)鐘。

linux閏秒發(fā)生時(shí),會(huì)改變jiffies的值嗎

關(guān)于linux的Jiffies/Tick/HZlinux核心幾個(gè)重要跟時(shí)間有關(guān)的幾個(gè)名詞: HZ、tick、jiffies。1.linux HZlinux核心每隔固定周期會(huì)發(fā)出timer interrupt (IRQ 0),HZ是用來(lái)定義每一秒有幾次timer interrupts。舉例來(lái)說(shuō),HZ為1000,代表每秒有1000次timer interrupts,比較常見(jiàn)的設(shè)置是HZ=100??梢酝ㄟ^(guò) cat /proc/interrupt 查看timer中斷次數(shù),并于一秒后再次觀察其值,通過(guò)前后差值可以估算HZ的值。要檢查內(nèi)核源碼中HZ的值是什么,可以執(zhí)行命令:#cat kernel/.config grep 'CONFIG_HZ='還可以直接更改文件param.h2.TickTick是HZ的倒數(shù),意即timer interrupt每發(fā)生一次中斷的時(shí)間。如HZ為250時(shí),tick為4毫秒(millisecond)。3.JiffiesJiffies為linux核心變數(shù)(32位元變數(shù),unsigned long),它被用來(lái)紀(jì)錄系統(tǒng)自開(kāi)機(jī)以來(lái),已經(jīng)過(guò)多少的tick。每發(fā)生一次timer interrupt,Jiffies變數(shù)會(huì)被加一。在ARM體系結(jié)構(gòu)中,jiffies被初始化為jiffies_64,而jiffies_64是一個(gè)u64位元變數(shù),在kernel/timer.c中定義:u64 jiffies_64 __cacheline_aligned_in_smp = INITIAL_JIFFIES;即jiffies在系統(tǒng)開(kāi)機(jī)時(shí),并非初始化成零,而是被設(shè)為INITAL_JIFFIES(在文件include/linux/jiffies.h中定義為-300*HZ),即代表系統(tǒng)于開(kāi)機(jī)五分鐘后,jiffies便會(huì)溢位。那溢位怎么辦?事實(shí)上,linux核心定義幾個(gè)macro(timer_after、time_after_eq、time_before與time_before_eq),即便是溢位,也能藉由這幾個(gè)macro正確地取得jiffies的內(nèi)容。

怎么查 linux 當(dāng)前cpu tick

如果是獲取 cpu 時(shí)鐘 的 tick:

clock_t tick1,tick2;

tick1=clock(); // 開(kāi)機(jī)到執(zhí)行這句時(shí)的毫秒數(shù) ms

等待一會(huì)

tick2=clock(); // 開(kāi)機(jī)到執(zhí)行這句時(shí)的毫秒數(shù) ms

dt = (double) (tick2 - tick1); // 或得時(shí)間差。

===============

如果是 獲取 CPU cycle count

#include stdint.h

// Windows

#ifdef _WIN32

#include intrin.h

uint64_t rdtsc(){

return __rdtsc();

}

// Linux/GCC

#else

uint64_t rdtsc(){

unsigned int lo,hi;

__asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));

return ((uint64_t)hi 32) | lo;

}

#endif

===================

獲取高精度時(shí)間(MS VC++ 6.0編譯器):

// Pentium instruction "Read Time Stamp Counter".

__forceinline unsigned _int64 My_clock(void)

{

_asm _emit 0x0F

_asm _emit 0x31

}

unsigned _int64 Start(void) { return My_clock();}

unsigned _int64 Stop(unsigned _int64 m_start, unsigned _int64 m_overhead)

{return My_clock()-m_start - m_overhead; }

==========

獲取cpu 速度(MS VC++ 6.0編譯器):

void get_CPU_speed()

{

unsigned _int64 m_start=0, m_overhead=0;

unsigned int CPUSpeedMHz;

m_start = My_clock();

m_overhead = My_clock() - m_start - m_overhead;

printf("overhead for calling My_clock=%I64d\n", m_overhead);

m_start = My_clock();

wait_ms(2000);

CPUSpeedMHz=(unsigned int) ( (My_clock()- m_start - m_overhead) / );

printf("CPU_Speed_MHz: %u\n",CPUSpeedMHz);

}

硬件時(shí)鐘

有幾個(gè)概率需要了解

1.時(shí)間周期(Clock Cycle)的頻率:晶體振蕩器在1秒以?xún)?nèi)時(shí)鐘周期的個(gè)數(shù)=1秒以?xún)?nèi)時(shí)鐘脈沖的個(gè)數(shù),Linux里面用

#define CLOCK_TICK_RATE 1193180 /* Underlying HZ */

單位為HZ

2.時(shí)鐘滴答(Clock Tick):

當(dāng)PIT通道0的計(jì)數(shù)器減到0值時(shí),它就在IRQ0上產(chǎn)生一次時(shí)鐘中斷,也即一次時(shí)鐘滴答。PIT通道0的計(jì)數(shù)器的初始值決定了要過(guò)多少時(shí)鐘周期才產(chǎn)生一次時(shí)鐘中斷。

3.時(shí)鐘滴答的頻率(HZ):1秒以?xún)?nèi)產(chǎn)生時(shí)間滴答個(gè)數(shù)

HZ在arm和i386上定義為100,ALPHA和IA62為1024 ,IBM Power PC為1000

i386 1個(gè)時(shí)鐘滴答時(shí)間為1000ms/100=10ms。

4.時(shí)鐘滴答的時(shí)間間隔(tick)

long tick = (1000000 + HZ/2) / HZ; /* timer interrupt period */? ?單位為us ,tick=10ms,也可以通過(guò)HZ來(lái)計(jì)算

linux中#define TICK_SIZE= tick

1s=1,000,000us

(5)宏LATCH:Linux用宏LATCH來(lái)定義要寫(xiě)到PIT通道0的計(jì)數(shù)器中的值,它表示PIT將沒(méi)隔多少個(gè)時(shí)鐘周期產(chǎn)生一次時(shí)鐘中斷。

LATCH=(1秒之內(nèi)的時(shí)鐘周期個(gè)數(shù))÷(1秒之內(nèi)的時(shí)鐘中斷次數(shù))=(CLOCK_TICK_RATE)÷(HZ)

Linux為取整 #define LATCH=(CLOCK_TICK_RATE + HZ/2) / HZ。

時(shí)鐘周期理解:時(shí)鐘脈沖,電平從0到1(或者相反)。

CLOCK_TICK_RATE和HZ都是 頻率 :1秒以?xún)?nèi)時(shí)鐘周期 頻率 ,1秒以?xún)?nèi)時(shí)鐘滴答 頻率 。

TSC使用CPU頻率,在現(xiàn)代計(jì)算機(jī)中CPU可能降頻也可能超率,TSC時(shí)鐘不準(zhǔn)確。

順序?yàn)镠PET APCI PMTPICTSC

local cpu APIC只在單CPU場(chǎng)景上使用,如進(jìn)程調(diào)度時(shí)間.

參考:


當(dāng)前題目:linuxtick命令的簡(jiǎn)單介紹
分享路徑:http://weahome.cn/article/docopjp.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部