linux计算运行时长,在Linux上,“正常运行时间”何时开始计算?
在我的系统上,它的正常运行时间来自/proc/uptime:
$ strace -eopen uptime
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/libproc-3.2.8.so", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/proc/version", O_RDONLY) = 3
open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 3
open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
open("/proc/uptime", O_RDONLY) = 3
open("/var/run/utmp", O_RDONLY|O_CLOEXEC) = 4
open("/proc/loadavg", O_RDONLY) = 4
10:52:38 up 3 days, 23:38, 4 users, load average: 0.00, 0.02, 0.05
/proc/uptime
This file contains two numbers: the uptime of the system
(seconds), and the amount of time spent in idle process
(seconds).
proc文件系统包含一组伪文件。这些不是真正的文件,它们看起来像文件,但是它们包含内核直接提供的值。每次您读取文件(例如)时/proc/uptime,都会立即重新生成其内容。proc文件系统是内核的接口。
在文件的Linux内核源代码fs/proc/uptime.c的第49行,你会看到一个函数调用:
proc_create("uptime", 0, NULL, &uptime_proc_fops);
这将创建一个称为的proc文件系统条目uptime(通常将procfs安装在之下/proc),并将一个函数与其关联,该函数定义对该伪文件及其相关函数的有效文件操作。在正常运行的情况下,它只是read()和open()操作。但是,如果您追溯这些功能,则最终将在此处计算正常运行时间。
内部有一个计时器中断,它定期更新系统正常运行时间(其他值除外)。timer-interupt滴答的间隔由preprocessor-macro HZ定义,其确切值在内核配置文件中定义并在编译时应用。
空闲时间和CPU周期数以及频率HZ(每秒周期数)可以自上次引导以来的数量(秒)进行计算。
要解决您的问题:“正常运行时间”从什么时候开始算起?
由于正常运行时间是内核内部值,每个周期都会增加一次,因此它在内核初始化时开始计数。也就是说,当第一个周期结束时。即使在挂载任何东西之前,也就是在引导加载程序将控制权交给内核映像之后。
linux计算运行时长,在Linux上,“正常运行时间”何时开始计算?相关推荐
- 视频教程-Linux服务器运维/虚拟主机-Linux
Linux服务器运维/虚拟主机 云知梦创始人,国际架构师,11年互联网培训和开发经验,曾在港电讯盈科.北大青鸟集团.远大教育.北京易第优教育等公司任职曾获得美国红帽RHCA构架师和RHCDS数据中心讲 ...
- linux 的手机操作系统下载地址,Linux系统运维之下载Linux操作系统地址
本文主要向大家介绍了Linux系统运维的下载Linux操作系统地址,通过具体的内容向大家展现,希望对的大家学习Linux运维知识有所帮助. 有很多初次接触Linux的新人都会发问,应该到哪里下载Lin ...
- 【Grasshopper进阶】反射?什么反射?用反射屏蔽掉C#Script电池的运行时长
写这次这一篇的原因是来自一个CSDN网友找到我提出了一个拷问: 知名网友:"我想把下面的代码放到 C# Script电池里,怎么加?" public override TimeSp ...
- linux云自动化运维,Liunx运维一线大神亲授 全新Linux云计算运维基础与Linux Shell自动化运维实战课程...
Liunx运维一线大神亲授 全新Linux云计算运维基础与Linux Shell自动化运维实战课程 全新Linux云计算运维基础与Linux Shell自动化运维实战课程,由于国内一线大神亲自授课与教 ...
- linux服务器运维实战记录,linux运维好书推荐《高性能Linux服务器运维实战》
本书整体分为4个篇幅,以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维(命令.shell编程).系统性能调优.智能运维监控平台构建.运维实战案例四个方面展开 ...
- linux系统运维工作日常,linux是干什么用的?Linux运维工作日常有什么
当今的it互联网技术越来越发达,Linux运维的发展前景非常好.让我们看一下与Linux运维有关的信息. 随着开放源代码软件的影响力日益增强,Linux凭借其高效和广泛的应用优势,已成为中高端服务器的 ...
- linux系统运维费用,一般Linux运维学习的费用是多少?Linux学习
随着IT 互联网技术的发展,Linux逐渐成为中高端服务器的主要操作系统,并且目前地位不可替代.Linux运维工程师是一位"复合型人才",他集成了网络.系统.数据库.开发和安全等工 ...
- linux创建运维账户流程,Linux运维养成记-账户与权限管理
1. Linux 账户及组的概念 Linux 系统是通过用户的 ID 来识别每个账号,默认 ID 长度为 32 位,从 0 开始,用户的 ID及 UID 限制在 60000 以下,其中 Linux 账 ...
- 女生适合linux运维吗,女生适合学Linux云计算运维吗?Linux入门
女生适合学Linux云计算运维吗?很多人认为女生不适合计算机行业的技术岗位.不合适的原因有很多种,但实际上对于it技术岗来说并没有这样的结论.现实生活和工作中,很多程序员的朋友都是女生.所以女生不仅适 ...
最新文章
- Windows下FFmpeg高速入门
- git warning: LF will be replaced by CRLF in 解决办法 1
- 小工匠聊架构-分布式场景下的并发幂等性常见的解决方案
- 利用chunk重设大小攻击堆
- 【Java】continue和break区别
- 【蓝桥官网试题 - 算法提高】change(思维)
- 10年老兵给程序员的10条建议! 1
- python文件拷贝到其他盘符_Python:文件操作技巧(File operation)
- codeforces——961A Tetris
- Java - 多线程Callable、Executors、Future
- 第1章 游戏之乐——光影切割问题
- NIST:制定Cybersecurity的框架进行时
- 【88.4】HTTP权威指南
- sprint会议记录
- Office2010安装出错(Error1406)
- 矩和质心之积分的应用
- iOS开发 ----- 加载动画之牛顿摆的实现
- windows彻底永久关闭自动更新的方式
- 解决thinkpad sl410 evc windows7硬盘安装ubuntu12.04以后,windows 无线出现断开网速慢等问题
- 微信二次分享(标题、摘要、缩略图)