linux进程优先级(linux进程 优先级)-编程知识网

如何限制linux所有进程可使用的总内存?

下面的shell脚本可以实时的监控系统中各个进程的CPU和内存的占用情况,用于限制进程CPU占用率更加合理。

#!/bin/shPIDS=`top -bn 1 | grep "^ *" | awk ’{ if($9 > 50 || $10 > 25 && id -u $2 > 500) print $1}’`for PID in $PIDSdo renice +10 $PID echo "renice +10 $PID"done能够将这个脚本放到cron中运行,比如每分钟检查一次,只需以root身份添加crontab项:

#crontab-e*****limit.sh 以后每个一分钟就会检查一次,调整占用50%以上CPU或25%内存的进程的nice值,从而使这样的进程优先级变低,被调度的机会减少,同时会向root发邮件提示该进程被调整过。

但是,限制内存使用最好还是用PAM,RedHat能够在/etc/security/limits.conf中配置。

top命令和ps命令有什么区别?

top命令和ps命令都是Linux系统中用来查看进程信息的,它们的主要区别如下:

第一、ps命令只看到的是命令执行瞬间的进程信息,而top可以持续的监视。

第二、ps只能查看进程,而top还可以监视系统性能,比如系统的平均负载、cpu和内存的消耗。

最后、另外top还可以操作进程,如改变优先级和关闭进程。

linux在计算机系统中运行的程序大体上可以分为?

一种说法:
一般系统的组成由:核心,shell(命令解释器),应用程序
linux也一样,linux的核心(2.6.9.18),shell(/bin/bash),应用程序(Xwindow)等
或是:
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。
1.进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。
2.内存管理(MM)允许多个进程安全的共享主内存区域。Linux 的内存管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内存间交换程序块。内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。
3.虚拟文件系统(Virtual File System,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指Linux所支持的文件系统,如ext2,fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。
4.网络接口(NET)提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。
5.进程间通讯(IPC) 支持进程间各种通信机制。

linux怎么给网卡2设置优先级?

修改网卡配置文件,如果没有就加上IPV4_ROUTE_METRIC参数,metric值越低优先级越高

我这里配置的是eth1的优先级高

cat /etc/sysconfig/network-script/ifcfg-eth1

NAME=“eth1”

TYPE=“Ethernet”

BOOTPROTO=“none”

DEVICE=“eth1”

ONBOOT=“yes”

IPADDR=****

NETMASK=255.255.255.224

GATEWAY=****

IPV4_ROUTE_METRIC=0

linux的任务调度机制是什么?

调度程序运行时,要在所有可运行状态的进程中选择最值得运行的进程投入运行。

选择进程的依据是什么呢?在每个进程的task_struct结构中有以下四 项:policy、priority、counter、rt_priority。这四项是选择进程的依据。其中,policy是进程的调度策略,用来区分 实时进程和普通进程,实时进程优先于普通进程运行;priority是进程(包括实时和普通)的静态优先级;counter是进程剩余的时间片,它的起始 值就是priority的值;由于counter在后面计算一个处于可运行状态的进程值得运行的程度goodness时起重要作用,因此,counter 也可以看作是进程的动态优先级。rt_priority是实时进程特有的,用于实时进程间的选择。Linux用函数goodness()来衡量一个处于可运行状态的进程值得运行的程度。该函数综合了以上提到的四项,还结合了一些其他的因素,给每个处于 可运行状态的进程赋予一个权值(weight),调度程序以这个权值作为选择进程的唯一依据。关于goodness()的情况在后面将会详细分析。