如何记录 Linux 的系统运行时间的统计信息

如何记录 Linux 的系统运行时间的统计信息,第1张

系统的运行时间可以从/proc/uptime文件中获取,第一个文件即可。

你要用命令获取的话,可以这么写(秒级别的):

grep -Po "^[0-9]+" /proc/uptime

补充:/proc这个目录是linux系统中比较特殊的一个目录,里面存储的是当前内核的运行状态。

所以,比如可以从/proc/stat中查看开机时刻;可以从/proc/{进程id}/fd中查看某个进程使用的文件描述符。

1 在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab)。

2 ps 命令用于查看当前正在运行的进程。

grep 是搜索

例如: ps -ef | grep java

表示查看所有进程里CMD是java的进程信息

ps -aux | grep java

-aux 显示所有状态

ps

3 kill 命令用于终止进程

例如: kill -9 [PID]

-9表示强迫进程立即停止

通常用ps 查看进程PID ,用kill命令终止进程

网上关于这两块的内容

-----------------------------------------------------------------------------------

PS

-----------------------------------------------------------------------------------

1 ps简介

ps命令就是最根本相应情况下也是相当强大地进程查看命令运用该命令可以确定有哪些进程正在运行和运行地状态、进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等等总之大部分信息均为可以通过执行该命令得到地

2 ps命令及其参数

ps命令最经常使用地还是用于监控后台进程地工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设

备进行通信地,所以如果需要检测其情况,便可以运用ps命令了

该命令语法格式如下:

ps [选项]

-e 显示所有进程,环境变量

-f 全格式

-h 不显示标题

-l 长格式

-w 宽输出

a 显示终端上地所有进程,包括其他用户地进程

r 只显示正在运行地进程

x 显示没有控制终端地进程

O[+|-] k1 [,[+|-] k2 [,…]] 根据SHORT KEYS、k1、k2中快捷键指定地多级排序顺序显示进程列表

对于ps地不同格式都存在着默认地顺序指定这些默认顺序可以被用户地指定所覆盖在这里面“+”字符是可选地,“-”字符是倒转指定键地方向

pids只列出进程标识符,之间运用逗号分隔该进程列表必须在命令行参数地最后一个选项后面紧接着给出,中间不能插入空格比如:ps -f1,4,5

以下介绍长命令行选项,这些选项都运用“--”开头:

--sort X[+|-] key [,[+|-] key [,…]] 从SORT KEYS段中选一个多字母键“+”字符是可选地,因为默认地方向就是按数字升序或者词典顺序比如: ps -jax -sort=uid,-ppid,+pid

--help 显示帮助信息

--version 显示该命令地版本信息

在前面地选项说明中提到了排序键,接下来对排序键作进一步说明需要注意地是排序中运用地值是ps运用地内部值,并非仅用于某些输出格式地伪值排序键列表见表4-3

表4-3 排序键列表

c

cmd

可执行地简单名称

C

cmdline

完整命令行

f

flags

长模式标志

g

pgrp

进程地组ID

G

tpgid

控制tty进程组ID

j

cutime

累计用户时间

J

cstime

累计系统时间

k

utime

用户时间

K

stime

系统时间

m

min_flt

次要页错误地数量

M

maj_flt

重点页错误地数量

n

cmin_flt

累计次要页错误

N

cmaj_flt

累计重点页错误

o

session

对话ID

p

pid

进程ID

P

ppid

父进程ID

r

rss

驻留大小

R

resident

驻留页

s

size

内存大小(千字节)

S

share

共享页地数量

t

tty

tty次要设备号

T

start_time

进程启动地时间

U

uid

UID

u

user

用户名

v

vsize

总地虚拟内存数量(字节)

y

priority

内核调度优先级

3 经常使用ps命令参数

最经常使用地三个参数是u、a、x,下面将通过例子来说明其具体用法

[例20] 以root身份登录系统,查看当前进程状况

$ ps

PID TTY TIME COMMAND

5800 ttyp0 00:00:00 bash

5835 ttyp0 00:00:00 ps

可以看到,显示地项目共分为四项,依次为PID(进程ID)、TTY(终端名称)、TIME(进程执行时间)

、COMMAND(该进程地命令行输入)

可以运用u选项来查看进程所有者及其他少许详细信息,如下所示:

$ ps u

USER PID %CPU %MEM USZ RSS TTY STAT START TIME COMMAND

test 5800 00 04 1892 1040 ttyp0 S Nov27 0:00 -bash

test 5836 00 03 2528 856 ttyp0 R Nov27 0:00 ps u

在bash进程前面有条横线,意味着该进程便是用户地登录shell,所以对于一个登录用户来说带短横线地进程只有一个还可以看到%CPU、%MEM两个选项,前者指该进程占用地CPU时间和总时间地百分比;后者指该进程占用地内存和总内存地百分比

在这种情况下看到了所有控制终端地进程;当然对于其他那些没有控制终端地进程还是没有观察到,所以这时就需要运用x选项运用x选项可以观察到所有地进程情况

不知道你是不是学习编程的,如果不是就没必要看了。

1PID是进程标识号,它是一个进程的唯一性标识。PPID是该进程父进程的进程标识号。

2fork和exec和pid完全就是2件事情不能混为一谈。fork是一个linux库函数。他是用来创建一个新的进程。至于exec是一个系列函数,C标准库函数,用来改变进程上下文的。2者结合使用可以创建一个新的进程。

3如果创建新的进程,一般是用fork,他会返回这个被创建进程的PID,你可以通过PID找到这个进程。

答:linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history

命令后,通常只会显示已执行命令的序号和命令本身。

如果想要查看命令历史的时间戳,那么可以执行:

# export HISTTIMEFORMAT='%F %T '

# history | more

1 2008-08-05 19:02:39 service network restart

2 2008-08-05 19:02:39 exit

3 2008-08-05 19:02:39 id

这样显示的格式就变成,序号 - 时间 - 命令行。

history的其他的一些基本功能:

1、使用 HISTSIZE 控制历史命令记录的总行数

将下面两行内容追加到 bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450

1、程序(linux环境下)运行自己写的线程之后,程序卡顿

2、查看程序(linux环境下)运行资源消耗 top命令,CPU占用率达到了98%

问题分析

1、反复查看线程中程序执行步骤,并没有高耗CPU的 *** 作

2、查看程序优化的百度经验,优化一些算法,但也不能CPU占用率达到98%

3、最后多次查看线程概念、原理得出结论:

    线程就是一个死循环,线程要有跳出语句,要预留出其他程序的运行的时间片

解决:

while(1)中加入sleep(),防止一直占用CPU

---恢复内容结束---

以上就是关于如何记录 Linux 的系统运行时间的统计信息全部的内容,包括:如何记录 Linux 的系统运行时间的统计信息、linux下进程如何查看什么时候停止,哪个用户停止的、如何计算linux下C程序的运行时间用time ./abc 这个得到的都是什么时间呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10045682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存