导航:首页 > 编程系统 > linux系统进程数

linux系统进程数

发布时间:2024-10-17 20:10:37

A. 如何查看当前linux系统的状态,如CPU使用,内存使用,负载情况等.

可以用TOP工具查看实时状态。

top进入视图:

第一行:
10:01:23 当前系统时间
126 days, 14:29 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:
Tasks 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
6.7% us 用户空间占用CPU的百分比。
0.4% sy 内核空间占用CPU的百分比。
0.0% ni 改变过优先级的进程占用CPU的百分比
92.9% id 空闲CPU百分比
0.0% wa IO等待占用CPU的百分比
0.0% hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态
8306544k total 物理内存总量(8GB)
7775876k used 使用中的内存总量(7.7GB)
530668k free 空闲内存总量(530M)
79236k buffers 缓存的内存量 (79M)
第五行:swap交换分区
2031608k total 交换区总量(2GB)
2556k used 使用的交换区总量(2.5M)
2029052k free 空闲交换区总量(2GB)
4231276k cached 缓冲的交换区总量(4GB)

B. linux正常进程数是多少.

不同发行版是不同的,而且同一发行版的不同安装(工作站、服务器、自定义等)默认启动的进程数也是不同的。

linux 系统中单个进程的最大线程数有其最大的限制 PTHREAD_THREADS_MAX
这个限制可以在 /usr/include/bits/local_lim.h 中查看
对 linuxthreads 这个值一般是 1024,对于 nptl 则没有硬性的限制,仅仅受限于系统的资源。
这个系统的资源主要就是线程的 stack 所占用的内存,用 ulimit -s 可以查看默认的线程栈大小,一般情况下,这个值是 8M。
可以写一段简单的代码验证最多可以创建多少个线程。

试验显示,在 linuxthreads 上最多可以创建 381 个线程,之后就会返回 EAGAIN
在 nptl 上最多可以创建 382 个线程,之后就会返回 ENOMEM
这个值和理论完全相符,因为 32 位 linux 下的进程用户空间是 3G 的大小,也就是 3072M,用 3072M 除以 8M 得 384,但是实际上代码段和数据段等还要占用一些空间,这个值应该向下取整到 383,再减去主线程,得到 382。
那为什么 linuxthreads 上还要少一个线程呢?这可太对了,因为 linuxthreads 还需要一个管理线程。
为了突破内存的限制,可以有两种方法:
1) 用 ulimit -s 1024 减小默认的栈大小
2) 调用 pthread_create 的时候用 pthread_attr_getstacksize 设置一个较小的栈大小
要注意的是,即使这样的也无法突破 1024 个线程的硬限制,除非重新编译 C 库<=此处值得讨论,我在ubuntu 7.04+3G内存上用ulimit -s 1024,则可以得到3054个线程。

C. 浅谈linux下进程最大数、最大线程数、进程打开的文件

Linux系统中进程、线程和文件描述符的数量都有其限制。理论上,每个进程在全局段描述表GDT中占用两个表项,使得最大进程数理论上为8180除以2,大约4090个。然而,PID值的限制默认设置为32768,意味着用户创建进程的上限实际是这个值,即使root用户不修改内核参数也只能达到32768个进程。

单个进程的线程数受线程库限制,Linuxthreads限制为1024,NPTL则受限于系统资源,特别是线程栈内存。在Ubuntu-14.04-LTS-64bit系统上,Linuxthreads最多创建381个线程。32位系统中,由于内存限制,实际线程数略少于理论值。

打开文件描述符数(file-max)和nr_open参数控制了系统范围内进程能打开的文件数。默认情况下,file-max为186405,而nr_open则限制了单进程的最大文件数。为了提高上限,可以增大这两个值,但需要注意hard limit和soft limit的关系,以及与inode-max(2.2内核时)的兼容性。

对于非root用户,修改hard limit有限制,需要在/etc/security/limits.conf中永久设置。而nofile参数,尽管可以设置为unlimited,但实际操作中会遇到无法登录的限制,其上限由nr_open决定,通常为1048576。

2.4和2.6内核在处理线程和内存管理上有所不同,2.6内核在高并发场景下表现更好,但需要确保线程安全和内存管理。单进程服务器的并发线程数受内存和ulimit参数影响,64位系统上的具体限制需视硬件配置而定。

总的来说,理解并调整这些限制对于优化Linux系统性能和资源管理至关重要。

D. Linux系统中查看执行中的进程占用内存量的方法

Linux中查看某个进程占用内存的情况,执行如下命令即可,将其中的[pid]替换成相应进程的PID号:

复制代码

代码如下:

cat /proc/[pid]/status

说明
/proc/[pid]/status中所保存的信息除了内存信息,还包括进程IDs、信号等信息,此处暂时只介绍内存相关的信息。

字段说明VmPeak进程所使用的虚拟内存的峰值VmSize进程当前使用的虚拟内存的大小VmLck已经锁住的物理内存的大小(锁住的物理内存不能交换到硬盘)VmHWM进程所使用的物理内存的峰值VmRSS进程当前使用的物理内存的大小VmData进程占用的数据段大小VmStk进程占用的栈大小VmExe进程占用的代码段大小(不包括库)VmLib进程所加载的动态库所占用的内存大小(可能与其它进程共享)VmPTE进程占用的页表大小(交换表项数量)VmSwap进程所使用的交换区的大小

举例
显示进程cron的内存信息,通过pidof cron获取进程ID,或者通过ps -aux | grep cron查找进程ID。

复制代码

代码如下:

$ cat /proc/1161/status

Name: cron
State: S (sleeping)
Tgid: 1161
Ngid: 0
Pid: 1161
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 64
Groups: 0
VmPeak: 23792 kB
VmSize: 23656 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 1040 kB
VmRSS: 1004 kB
VmData: 260 kB
VmStk: 136 kB
VmExe: 40 kB
VmLib: 2668 kB
VmPTE: 72 kB
VmSwap: 0 kB
Threads: 1
SigQ: 0/15442
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000000000
SigCgt: 0000000000010001
CapInh: 0000000000000000
CapPrm: 0000001fffffffff
CapEff: 0000001fffffffff
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: 3
Cpus_allowed_list: 0-1
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 151
nonvoluntary_ctxt_switches: 0

E. linux中如何查看进程总数

|

方法一:

  1. pstree -p 14686(PID),可获取到nginx的四个子进程(或 ps -ef |grep nginx)

方法二:ps -eL -o pid,%cpu,lwp|grep -i pid

F. 如何查看linux资源使用情况

Linux查看系统资源占用
在系统维护的过程中,随时可能有需要查看 CPU和内存的使用率,并根据相应信息分析系统状况的需求。本文介绍一下几种常见的Linux系统资源查看命令。
1、总体内存占用的查看
命令:free

图1 free命令查看内存占用
(1) free命令默认是以kb为单位显示的,可以用free -m 用Mb单位来显示。
(2) Mem行 : total = used + free 其中buffers和cached虽然计算在used内, 但其实为可用内存。
(3) Mem下一行:used为真实已占内存,free为真实可用内存。
(4)Swap:内存交换区的使用情况。

2、查看内存占用前五的进程
命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5

图 2.1查看内存占用前5的进程
如图2.1所示, 内存的单位是kb,VSZ是虚拟内存的占用,RSS是真实的内存的占用。
命令分解:
ps auxw显示系统资源占用情况;
head -1表示显示第一列,即标题列;
sort -r 表示反向排序,-n表示按数字排序,-k4表示列的第4个字符。

3、查看CPU占用前三的进程
命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3

图3.1 查看cpu占用前三的进程
该命令与图2.1相仿,只是选择的资源占用情况的第3列(即cpu),用“-k3”表示。

4、查看系统整体的负载
命令:top

图4.1 top显示系统整体负载
(1)第一行: 系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载
(2)第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(stopped)+ 僵尸进程数(zombie)
(3)第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy)+ CPU空置率(id)

图4.2 各个任务占用资源情况
注解:
PID :进程ID
USER :用户名
PR :优先级
NI :负值表示高优先级,正值表示低优先级。
VIRT :虚拟内存
RES : 真实内存
SHR :共享内存
S :进程状态 D=不可中断的睡眠状态; R=运行; S=睡眠 ;T=跟踪/停止; Z=僵尸进程
参数:
top -d 2 :每隔2秒显式所有进程的资源占用情况
top -c :每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789:每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 :每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

阅读全文

与linux系统进程数相关的资料

热点内容
js循环添加控件 浏览:615
学习计算机网络的作用 浏览:235
access数据库最新内容怎么调 浏览:203
上古世纪新版本跑商 浏览:267
iphone5国际漫游设置 浏览:107
ipodwatch如何安装app 浏览:114
谁有微信抢红包的群号 浏览:872
word07页码从任意页开始 浏览:791
js禁止滑动事件 浏览:800
苹果查序号怎么看不是 浏览:61
linux在txt文件 浏览:568
ps如何导入文件匹配 浏览:201
转转app怎么把自己的账号租出去 浏览:828
福昕阅读器合并照片pdf文件 浏览:591
vhd文件有什么用 浏览:482
编程小朋友看什么书 浏览:623
经营如何让数据说话 浏览:258
如何在手机上升级opop 浏览:614
coreldrawx5免费视频教程 浏览:725
网站引导页面源码 浏览:234

友情链接