top工具全字段解析+实战(三)

本文详细解析了Linux top工具中显示的进程信息,包括PID(进程号)、User(运行进程的有效用户名)以及PR(任务优先级)。PID对应的是线程组ID(Tgid),而User字段实际对应EUID,代表进程的有效用户。PR字段展示了任务的优先级,实时任务(RT)具有高优先级,而普通任务遵循nice值。文章还讨论了实时任务的带宽限制以及SCHED_DEADLINE调度策略。
摘要由CSDN通过智能技术生成

-----------接上篇,本文开始介绍进程信息。

 

9、进程信息

依次来看下top展示的进程任务信息:

 (1)PID:进程号,一个任务的进程号。

注意:top默认是显示的进程模式,也就是说一个创建了多个线程的程序不会被展开显示,而这个pid号是整个进程的pid。事实上,线程在内核中也是进程,它也是有唯一pid。因为不管是进程还是线程,在内核中通通都用task_struct表示。Top没有展开线程模式的时候,这个pid号对应内核的tgid。

 Tgid为是thread group id,也就是说一个多线程的进程,相当于一个group,这个组里面有一个leader,那么这个leader的pid就是整个进程的tgid。所以我们从top上看到的进程pid是线程组id,也就是tgid。Top -H命令来展开线程模式,这样我们就可以看到每个任务的自己的pid了。

 

(2)User:运行这个进程的有效用户名。 (linux有很多种uid,如ruid、euid、suid等。这个用户名实际上对应EUID,effective user id,下面会讲到)

这个USER字段直接用户名称(字符串),而这个字符串是由用户的uid + /etc/passwd转换而来的。为什么呢?这是因为linux使用id来标示每一个用户,而实际的用户名称(字符串)保存在/etc/passwd文件中,当我们运行top的时候,top是先通过/proc/pid/status接口读出uid字段,然后在/etc/passwd文件中根据uid读出用户名。

Linux里面的User ID Definition,简称UID,是识别每个用户的一个ID号,而我们看到的用户名称通常只不过是作为一种人机接口的手段,符合人类阅读记忆,其实在linux内部完全可以用id来做管理/识别。

通常,UID的1到99通常是为特殊系统用户保留的,比如系统里的daemon, lp, ftp, news, mail,这些用户。而还有一个更特殊的用户UID=0,这个就是我们的超级用户root,没有比它更牛逼的了,有且仅有一个。

所以在linux系统中,非特权用户的uid(也就是一些普通用户)一般从100开始。但也有些特别的。比如Red-hat系统uid从500开始,centos系统从1000开始,总之不跟系统用户冲突就好。

 

看下red-hat服务器(Red-hat):

 

Passwd中的用户:(UID从500开始)

看下centos服务器(centos):

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值