
NetworkManager 用于自动连接网络,常用在Laptop上 开启 关闭 对服务器无用
abrt-ccpp 开启 自定 对服务器无用
abrt-oops 开启 自定 对服务器无用
abrtd 开启 自定 对服务器无用
acpid 电源的开关等检测管理,常用在Laptop上 开启 自定 对服务器无用
atd 在指定时间执行命令 开启 关闭 如果用crond,则可关闭它
auditd 审核守护进程 开启 开启 如果用selinux,需要开启它
autofs 文件系统自动加载和卸载 开启 自定 只在需要时开启它,可以关闭
avahi-daemon 本地网络服务查找 开启 关闭 对服务器无用
bluetooth 蓝牙无线通讯 开启 关闭 对服务器无用
certmonger 关闭 关闭
cpuspeed 调节cpu速度用来省电,常用在Laptop上 开启 关闭 对服务器无用
crond 计划任务管理 开启 开启 常用,开启
cups 通用unix打印服务
开启 关闭 对服务器无用
dnsmasq dns cache 关闭 关闭 DNS缓存服务,无用
firstboot 系统安装后初始设定 关闭 关闭
haldaemon 硬件信息收集服务 开启 开启
ip6tables ipv6防火墙 开启 关闭 用到ipv6网络的就用,一般关闭
iptables
ipv4防火墙 开启 开启 ipv4防火墙服务
irqbalance cpu负载均衡 开启 自定 多核cup需要
kdump 硬件变动检测 关闭 关闭 服务器无用
lvm2-monitor lvm监视 开启 自定 如果使用LVM逻辑卷管理就开启
matahari-broker 关闭 关闭 此服务不清楚,我关闭
matahari-host 关闭 关闭 此服务不清楚,我关闭
matahari-network 关闭 关闭 此服务不清楚,我关闭
matahari-service 关闭 关闭 此服务不清楚,我关闭
matahari-sysconfig 关闭 关闭 此服务不清楚,我关闭
mdmonitor 软raid监视 开启 自定
messagebus 负责在各个系统进程之间传递消息 开启 开启 如停用,haldaemon启动会失败
netconsole 关闭 关闭
netfs 系统启动时自动挂载网络文件系统 开启 关闭 如果使用nfs服务,就开启
network 系统启动时激活所有网络接口 开启 开启 网络基础服务,必需!
nfs 网络文件系统 关闭 关闭 nfs文件服务,用到就开启
nfslock nfs相关 开启 关闭 nfs相关服务,用到就开启
ntpd 自动对时工具 关闭 自定 网络对时服务,用到就开启
ntpdate 自动对时工具 关闭 关闭
oddjobd 与D-BUS相关 关闭 关闭
portreserve RPC 服务相关 开启 自定 可以关闭
postfix 替代sendmail的邮件服务器 开启 自定 如果无邮件服务,可关闭
psacct 负荷检测 关闭 关闭 可以关闭
qpidd 消息通信 开启 开启
quota_nld 关闭 关闭 可以关闭
rdisc 自动检测路由器 关闭 关闭
restorecond selinux相关 关闭 关闭 如果开启了selinux,就需开启
rpcbind 开启 开启 关键的基础服务,nfs服务和桌面环境都依赖此服务!相当于CentOS 5.x里面的portmap服务。
rpcgssd NFS相关 开启 关闭 NFS相关服务,可选
rpcidmapd RPC name to UID/GID mapper 开启 关闭 NFS相关服务,可选
rpcsvcgssd NFS相关 关闭 关闭 NFS相关服务,可选
rsyslog 提供系统的登录档案记录 开启 开启 系统日志关键服务,必需!
saslauthd sasl认证服务相关 关闭 关闭
smartd 硬盘自动检测守护进程 关闭 关闭
spice-vdagentd 开启 开启
sshd ssh服务端,可提供安全的shell登录
开启 开启 SSH远程登录服务,必需!
sssd 关闭 关闭
sysstat 开启 开启 一组系统监控工具的服务,常用
udev-post 设备管理系统 开启 开启
wdaemon 关闭 关闭
wpa_supplicant 无线认证相关 关闭 关闭
ypbind network information service客户端 关闭 关
d 代表 deamon 守护进程守护进程是运行在Linux服务器后台的一种服务程序。现在比较常用 是 service 这个词。
它周期性地执行某种任务或等待处理某些发生的事件。
Linux的大多数服务就是用守护进程实现的。
比如:xinetd 提供网络服务,sshd 提供 ssh登录服务, vsftpd 提供ftp服务器, httpd提供Web服务 等等。
Linux进程调度
1.调度方式
Linux系统的调度方式基本上采用“ 抢占式优先级 ”方式,当进程在用户模式下运行时,不管它是否自愿,核心在一定条件下(如该进程的时间片用完或等待I/O)可以暂时中止其运行,而调度其他进程运行。一旦进程切换到内核模式下运行时,就不受以上限制,而一直运行下去,仅在重新回到用户模式之前才会发生进程调度。
Linux系统中的调度基本上继承了UNIX系统的 以优先级为基础 的调度。也就是说,核心为系统中每个进程计算出一个优先级,该优先级反映了一个进程获得CPU使用权的资格,即高优先级的进程优先得到运行。核心从进程就绪队列中挑选一个优先级最高的进程,为其分配一个CPU时间片,令其投入运行。在运行过程中,当前进程的优先级随时间递减,这样就实现了“负反馈”作用,即经过一段时间之后,原来级别较低的进程就相对“提升”了级别,从而有机会得到运行。当所有进程的优先级都变为0(最低)时,就重新计算一次所有进程的优先级。
2.调度策略
Linux系统针对不同类别的进程提供了3种不同的调度策略,即SCHED_FIFO、SCHED_RR及SCHED_OTHER。其中,SCHED_FIFO适合于 短实时进程 ,它们对时间性要求比较强,而每次运行所需的时间比较短。一旦这种进程被调度且开始运行,就一直运行到自愿让出CPU或被优先级更高的进程抢占其执行权为止。
SCHED_RR对应“时间片轮转法”,适合于每次运行需要 较长时间的实时进程 。一个运行进程分配一个时间片(200 ms),当时间片用完后,CPU被另外进程抢占,而该进程被送回相同优先级队列的末尾,核心动态调整用户态进程的优先级。这样,一个进程从创建到完成任务后终止,需要经历多次反馈循环。当进程再次被调度运行时,它就从上次断点处开始继续执行。
SCHED_OTHER是传统的UNIX调度策略,适合于交互式的 分时进程 。这类进程的优先级取决于两个因素:一个是进程剩余时间配额,如果进程用完了配给的时间,则相应优先级降到0;另一个是进程的优先数nice,这是从UNIX系统沿袭下来的方法,优先数越小,其优先级越高。nice的取值范围是-20 19。用户可以利用nice命令设定进程的nice值。但一般用户只能设定正值,从而主动降低其优先级;只有特权用户才能把nice的值设置为负数。进程的优先级就是以上二者之和。
后台命令对应后台进程(又称后台作业)。后台进程的优先级低于任何交互(前台)进程的优先级。所以,只有当系统中当前不存在可运行的交互进程时,才调度后台进程运行。后台进程往往按批处理方式调度运行。
3.调度时机
核心进行进程调度的时机有以下5种情况:
(1)当前进程调用系统调用nanosleep( )或者pause( ),使自己进入睡眠状态,主动让出一段时间的CPU的使用权。
(2)进程终止,永久地放弃对CPU的使用。
(3)在时钟中断处理程序执行过程中,发现当前进程连续运行的时间过长。
(4)当唤醒一个睡眠进程时,发现被唤醒的进程比当前进程更有资格运行。
(5)一个进程通过执行系统调用来改变调度策略或者降低自身的优先级(如nice命令),从而引起立即调度。
4.调度算法
进程调度的算法应该比较简单,以便减少频繁调度时的系统开销。Linux执行进程调度时,首先查找所有在就绪队列中的进程,从中选出优先级最高且在内存的一个进程。如果队列中有实时进程,那么实时进程将优先运行。如果最需要运行的进程不是当前进程,那么当前进程就被挂起,并且保存它的现场—— 所涉及的一切机器状态,包括程序计数器和CPU寄存器等,然后为选中的进程恢复运行现场。
(二)Linux常用调度命令
· nohup命令
nohup命令的功能是以忽略挂起和退出的方式执行指定的命令。其命令格式是:
nohup command [arguments]
其中,command是所要执行的命令,arguments是指定命令的参数。
nohup命令告诉系统,command所代表的命令在执行过程中不受任何结束运行的信号(hangup和quit)的影响。例如,
$ nohup find / -name exam.txt -print>f1 &
find命令在后台运行。在用户注销后,它会继续运行:从根目录开始,查找名字是exam.txt的文件,结果被定向到文件f1中。
如果用户没有对输出进行重定向,则输出被附加到当前目录的nohup.out文件中。如果用户在当前目录中不具备写权限,则输出被定向到$HOME/nohup.out 中。
· at命令
at命令允许指定命令执行的时间。at命令的常用形式是:
at time command
其中,time是指定命令command在将来执行时的时间和日期。时间的指定方法有多种,用户可以使用绝对时间,也可以用相对时间。该指定命令将以作业形式在后台运行。例如:
$ at 15:00 Oct 20
回车后进入接收方式,接着键入以下命令:
mail -s "Happy Birthday!" liuzheny
按下D键,屏幕显示:
job 862960800.a at Wed Oct 20 15:00:00 CST 1999
$
表明建立了一个作业,其作业ID号是862960800.a,运行作业的时间是1999年10月20日下午3:00,给liuzheny发一条标题为“Happy Birthday!”(生日快乐)的空白邮件。
利用 at -l 可以列出当前at队列中所有的作业。
利用 at -r 可以删除指定的作业。这些作业以前由at或batch命令调度。例如,
at -r 862960797.a
将删除作业ID号是862960797.a的作业。其一般使用形式是:
at -r job_id
注意,结尾是.a的作业ID号,表示这个作业是由at命令提交的;结尾是.b的作业ID号,表示这个作业是由batch命令提交的。
· batch命令
batch命令不带任何参数,它提交的作业的优先级比at命令提交的作业的优先级低。batch无法指定作业运行的时间。实际运行时间要看系统中已经提交的作业数量。如果系统中优先级较高的作业比较多,那么,batch提交的作业则需要等待;如果系统空闲,则运行batch提交的作业。例如,
$ batch
回车后进入接收方式,接着键入命令:
find / -name exam.txt -print
按下D。退出接收方式,屏幕显示:
job 862961540.b at Thu Nov 18 14:30:00 CST 1999
表示find命令被batch作为一个作业提交给系统,作业ID号是862961540.b。如果系统当前空闲,这个作业被立即执行,其结果同样作为邮件发送给用户。
· jobs命令
jobs命令用来显示当前shell下正在运行哪些作业(即后台作业)。例如:
$ jobs
[2] + Running tar tv3 *&
[1] - Running find / -name README -print >logfile &
$
其中,第一列方括号中的数字表示作业序号,它是由当前运行的shell分配的,而不是由 *** 作系统统一分配的。在当前shell环境下,第一个后台作业的作业号为1,第二个作业的作业号为2,等等。
第二列中的“ ”号表示相应作业的优先级比“-”号对应作业的优先级高。
第三列表明作业状态,是否为运行、中断、等待输入或停止等。
最后列出的是创建当前这个作业所对应的命令行。
利用 jobs -l 形式,可以在作业号后显示出相应进程的PID。如果想只显示相应进程的PID,不显示其它信息,则使用 jobs -p 形式。
· fg命令
fg命令把指定的后台作业移到前台。其使用格式是:
fg [job…]
其中,参数job是一个或多个进程的PID,或者是命令名称或者作业号(前面要带有一个“%”号)。例如:
$ jobs
[2] + Running tar tv3 *&
[1] - Running find / -name README -print >logfile&
$ fg %find
find / -name README -print >logfile
注意,显示的命令行末尾没有“&”符号。下面命令能产生同样的效果:
$ fg %1
这样,find命令对应的进程就在前台执行。当后台只有一个作业时,键入不带参数的fg命令,就能使相应进程移到前台。当有两个或更多的后台作业时,键入不带参数的fg,就把最后进入后台的进程首先移到前台。
· bg命令
bg命令可以把前台进程换到后台执行。其使用格式是:
bg [job…]
其中,job是一个或多个进程的PID、命令名称或者作业号,在参数前要带“%”号。例如,在cc(C编译命令)命令执行过程中,按下Z键,使这个作业挂起。然后键入以下命令:
$ bg %cc
该挂起的作业在后台重新开始执行。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)