linux 常用命令

ps 

ps -aux

(a 显示现行终端机下的所有程序,包括其他用户的程序。

u   以用户为主的格式来显示程序状况。

x   显示所有程序,不以终端机来区分。)

 netstat 

netstat -napt   

(-a 显示所有连接和侦听端口,默认不显示LISTEN相关;

-n 以数字形式显示地址和端口号。

-p proto 显示 proto 指定的协议的连接;proto可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
-t (tcp)仅显示tcp相关选项)

 

unhide

1、安装unhide

    安装epel源:yum -y install epel-release

    安装unhide:yum -y install unhide

2、查找隐藏进程

    unhide proc

 

top

 

第一行:任务队列信息
系统当前时间:top - 09:15:52
系统运行时间:up 0 min
当前登录用户:1 user
负载均衡情况:load average: 1.78,0.49,0.17(average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。)
注意:load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

第二行:Tasks — 任务(进程)
总进程:95 total
运行进程:1 running
休眠进程:94 sleeping
停止进程:0 stopped
僵尸进程:0 zombie
这里说一下什么是僵尸进程:

我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。
第三行:cpu状态信息


0.3 us:用户空间占用CPU的百分比。
0.0 sy:内核空间占用CPU的百分比。
0.0 ni:改变过优先级的进程占用CPU的百分比
99.7 id:空闲CPU百分比
0.0 wa:IO等待占用CPU的百分比
0.0 hi:硬中断占用CPU的百分比
0.0 si:软中断占用CPU的百分比
0.0 st:当Linux系统是在虚拟机中运行时,等待CPU资源的时间占比
用户空间(User space)与内核空间(Kernel space):

简单说,Kernel space 是 Linux 内核的运行空间,User space 是用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃了,内核也不受影响。

Kernel space 可以执行任意命令,调用系统的一切资源;
User space 只能执行简单的运算,不能直接调用系统资源,必须通过系统接口(又称 system call),才能向内核发出指令。
第四行:内存状态


KiB Mem:Kib表示描述单位,MEM表示内存

total:总内存量(4G)
free:空闲内存(2G)
used:已用内存(1G)
buff/cache:缓存内存(307M)
第五行:swap交换分区信息


KiB Swap:Kib表示描述单位,Swap表示交换分区

total:总内存量(839M)
free:空闲内存(839M)
used:已用内存(0)
avail Mem:可用内存(2G)
什么是交换分区:

类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况;需要注意的是,存储在交换分区的数据性质,在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行

free和avail的区别:

free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行:各进程状态监控


PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态;R=运行;S=睡眠;T=跟踪/停止;Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
————————————————
版权声明:本文为CSDN博主「蓝亚之舟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuangan1529/article/details/118295564

 

posted @ 2022-08-18 13:22  张载zz  阅读(566)  评论(0编辑  收藏  举报