如何在Linux中查看所有正在运行的进程
ps命令用于查看系统中的进程状态,格式为:“ps [参数]”,
常见的ps命令参数包括有:
-a 显示所有的进程(包括其他用户的)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
Linux系统中时刻运行着许许多多的进程,如果能够合理的管理它们,绝对有益于对系统的性能优化,Linux系统中进程最常见的5种不同的状态是运行、中断、不可中断、僵死与停止,它们的含义分别是:
R(运行):正在运行或在运行队列中等待。
S(中断):休眠中, 在等待某个条件的形成或接收到信号。
D(不可中断):收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
Z:(僵死):进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
T:(停止):进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行。当执行"ps aux"命令后通常会看到下面格式的进程状态,表格中只是列举了部分输出值,而且正常的输出值中不包括中文注释部分:
top命令用于动态的监视进程活动与系统负载等信息,格式为:“top”。
它能够动态的查看系统运维状态,完全可以比喻成是“强化版的Windows任务管理器”,运行界面如图所示:
top命令前面的五行为系统整体的统计信息:
第1行:系统时间,运行时间,登录终端数,系统负载(分别为1分钟、5分钟、15分钟的平均值,数值越小意味着负载越低)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。此行数据均为CPU数据并以百分比格式显示,例如"992 id"意味着有992%的CPU处理器资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
为了更好的了解Linux服务器,成为一名合格的运维人员,您必须具备快速查看Linux系统运行状态的能力。Linux命令最大的特点就是要与其他命令搭配使用,重于灵活运用,可参考linuxprobe。COM上ps、top命令经常用于系统工作查看状态,ps命令与管道符技术搭配使用,可用于来抓取到某个指定服务进程所对应的PID号码。
1、首先打开xshell软件,连接上linux服务器,使用指令ps查看系统进程,参数a表示全部,u表示以用户格式显示,x表示进程参数。
2、接着通过符号|加上grep查找具体的某个进程,如下图所示。
3、然后输入ps -ef用于查看进程的父进程id,如下图所示。
4、最后使用pstree指令查看进程树结构,如下图所示就完成了。
这个可以通过修改 vi /etc/security/limitsconf 文件来设定:
# vi /etc/security/limitsconf
vpsee hard nproc 32
@student hard nproc 32
@faculty hard nproc 64
上面的配置文件意思是说限制 vpsee 这个用户只能 fork 32 个进程;然后限制 student 这个用户组的每个成员最多能
fork 32 个进程;限制 faculty 这个用户组的每个成员最多能 fork 64 个进程。不过要事先检查系统是否有
pam_limitsso 这个模块以及是否已经加载:
# ls /lib64/security/pam_limitsso
/lib64/security/pam_limitsso
# vi /etc/pamd/login
session required pam_loginuidso
如果自己是 Linux 普通用户,不是 root 用户不能修改 limitsconf 和重启系统的话,可以用 ulimit
来临时限制自己允许创建的进程数,ulimit 有 Hard 和 Soft 两种方法限制,用 Hard
的话可以减少最大可用的进程数,但是就不能重新增大这个限制了;用 Soft 的话可以自己自由增大和减小限制(ulimit,-H 和 -S
的详细说明可以参看 man ulimit)。不同的 Linux 版本对这个 ulimit -u 的默认值不同,在 CentOS
上默认情况下最大运行进程数是 8256,在 Fedora 上是
1024,所以这个要看不同的发行版本,不过这个无所谓,反正可以改,不过改成32后就不能再改成比32更大的了(比如64),只能再改成比32小
的,ulimit 不带 -H 和 -S 参数的时候同时设置 Hard 和 Soft:
$ ulimit -u
8256
$ ulimit -u 32
$ ulimit -u 64
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 8256
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
0条评论