who:确定有谁在系统中
命令who
:列出当前已登录入系统的用户
第一列:用户名;第二列:终端设备的设备文件名
设备在文件系统中有一个文件名(同普通磁盘文件不同的是文件类型属于特殊文件),设备文件一般放于目录
/dev
下
- 命令
tty
可以打印出当前终端的设备文件名 - 命令
who am i
可以列出当前终端上的登录用户 - 命令
whoami
仅列出当前终端上的登录用户
例如 :以root用户登录系统,然后执行 su - holger
切换到 holger 用户下,此时 who am i
显示的是root用户,而 whoami
则显示 holger 用户。
uptime:已开机时间(年龄)
- 系统自启动后到现在的运行时间
- 当前登录入系统的用户数
- 近期1分钟,5分钟,15分钟内系统CPU的负载
- 平均调度队列长度
1 | $ uptime |
top:列出资源占用排名靠前的进程
- VIRT进程逻辑地址空间大小(virtual)
- RES驻留内存数(Resident),也就是占用物理内存数
- SHR与其他进程共享的内存数(share)
- %CPU占用CPU百分比,%MEM占用内存百分比
- TIME+占用的CPU时间
命令 ps
功能:查阅进程状态(process status)
实际上就是将内核中进程状态信息有选择地打印出来。
选项:用于控制列表的行数(进程范围)和列数(每进程列出的属性内容)
- 无选项:只列出在当前终端上启动的进程
- 列出的项目有:PID,TTY,TIME,COMMAND
- e选项:列出系统中所有的进程(进程范围)
- f选项:以full格式列出每一个进程(控制列的数目)
- l选项:以long格式列出每一个进程(控制列的数目)
属性:
- UID:用户ID(注册名)
- PID:进程ID
- PPID:父进程的
- PIDC:CPU占用指数,最近一段时间(秒级别)进程占用CPU情况
- STIME:启动时间
- SZ:进程逻辑内存大小(Size)
- TTY:终端的名字
- COMMAND:命令名
- WCHAN:进程在内核的何处睡眠(Wait Channel)
- TIME:累计执行时间(占用CPU的时间)
- PRI:优先级
- S:状态,S(Sleep),R(Run), Z(Zombie)
1 | $ ps |
free:了解内存使用情况
1 | $ free |
- 内存总量6.8GB,空闲463MB
Linux为提高效率,利用程序暂时不用的内存,缓冲读写过的磁盘信息。
当前有2.4GB的buffer/cache - 不计buffers/cache,系统有实际可利用资源2.2GB
- 打印了磁盘Swap区的使用情况
vmstat:了解系统负载
- Procs r等待运行的进程数;b处在非中断睡眠状态的进程数
- Memory free空闲的内存,buff/cache用做缓存的内存数
- Swap磁盘/内存的交换页数量,单位:KB/秒
- IO块设备I/O块数,单位:块/秒
- System
- in 每秒的硬件中断数(interrupt),包括时钟中断
- cs 每秒的环境切换次数(contextswitch)
- CPU 的总使用率 us=user,sy=system,id=idle,wa=wait for disk I/O
1 | $ vmstat 1 |
About this Post
This post is written by Holger, licensed under CC BY-NC 4.0.