#### hostname
hostname [OPTION] [HOSTNAME]
默认选项:修改主机名为[HOSTNAME]
备注:临时生效如果想永久生效则需要修改文件/etc/sysconfig/network文件
选项
-I :取出本机上所有的非回环地址
示例
“`
[root@zhangxiao network-scripts]#hostname -I
172.20.110.6 172.10.87.1 172.20.110.229
“`
### LINUX 进程及管理
内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能
进程:运行中的程序的一个副本:
进程是有生命周期的
进程的创建:init|systemd 是由内核创建的
其下所有的进程都是它一级级按照父子进程关系进行创建的
对于linux而言,把进程划分优先级
0-139
1-99 :实时优先级(数字越大优先级越高)
进程处理,一般不人为干预
100-139:静态优先级 数字越小,优先级越高
nice值:-20,19 (其中-20对应于100,19对应于139)
进程内存
“`
Page Frame :页筐,用来存储页面数据用来存储page 每个page frame大小是4K
同一主机上两个进程的通信
1、信号
2、使用共享内存
不同主机上的
1、RPC机制:远程过程调用
2、SOCKET:套接字
“`
LINUX内核模式:抢占式多任务
进程的类型
“`
守护进程:daemon(在系统引导过程中启动的进程)
前台进程:用户通过终端打开的进程
我们也可以把从前台启动的进程送往后台,以守护模式运行
“`
进程的状态
“`
运行态:running
就绪态:ready
睡眠态:
可中断的睡眠态
不可中断的睡眠态
停止态:暂停于内存中,但不会被调度,除非手动调度stoped
僵死态:zombie
“`
进程的分类:
“`
CPU-bound:一般非交互型的进程多用cpu密集型
IO-bound:交互式的一般用IO密集型
“`
Linux进程查看及管理工具
1、pstree:显示进程树
ps :process stat 进程状态查看
“`
ps :以快照形式把当前进程状态显示出来,并且退出
/proc/:LINUX系统中进程的相关信息都保存在这个文件中 目录中每一个编号映射着一个进程
常用组合:aux:以用户为中心显示主机上所有的进程
u:以用户为中心组织状态信息显示
x:与终端无关的进程
a:所有与终端相关关的进程
详解
PID:进程编号
PPID:父进程编号
TTY:终端号
STAT:状态
R:running
S:可中断睡眠
D:不可中断睡眠
T:stoped
Z: 僵尸态
+ :前台进程
l :多线进程
N :低优先级进程
< : 高优先级进程
s : 进程领导者
START:启动时间
TIME:占用CPU时长
CMD:哪个命令调用的此进程(加了中括号的是内核线程)
C:运行在哪块CPU上
USER:进程属主
CPU%:占用的CPU时间的百分比
MEM%: 占用MEM时间的百分比
VSZ : 虚拟内存大小(虚拟内存集)
RSS : 常驻内存集(不能放在交换分区中的)
“`
aux:以用户为中心显示主机上所有的进程
u:以用户为中心组织状态信息显示
x:与终端无关的进程
a:所有与终端相关关的进进程
示例
“`
[root@zhangxiao ~]#ps aux |head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19352 1560 ? Ss 03:39 0:02 /sbin/init
root 2 0.0 0.0 0 0 ? S 03:39 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 03:39 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 03:39 0:00 [ksoftirqd/0]
[root@zhangxiao ~]#^C
“`
-ef:显示所有进程的详细信息
-e:所有进程
-f:显示完整格式的进程信息
示例
“`
[root@zhangxiao ~]#ps -ef |head -5
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:39 ? 00:00:02 /sbin/init
root 2 0 0 03:39 ? 00:00:00 [kthreadd]
root 3 2 0 03:39 ? 00:00:00 [migration/0]
root 4 2 0 03:39 ? 00:00:00 [ksoftirqd/0]
[root@zhangxiao ~]#
“`
-eFH:完整格式以层级格式显示相关信息
-F:显示完整格式的进程信息
-H:以进程层级格式显示进程相关信息
示例
“`
[root@zhangxiao ~]#ps -eFH |head -5
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 2 0 0 0 0 2 03:39 ? 00:00:00 [kthreadd]
root 3 2 0 0 0 0 03:39 ? 00:00:00 [migration/0]
root 4 2 0 0 0 0 03:39 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 0 0 0 03:39 ? 00:00:00 [stopper/0]
[root@zhangxiao ~]#
“`
o 表示制定显示哪些字段,o后边跟想要显示的字段 ,隔开
可以用-eo 或者axo
ni:nice值
pri:优先级
psr:哪颗CPU上
rtprio:实时优先级
示例
“`
[root@zhangxiao ~]#ps -eo cmd,pid,user | head -5
CMD PID USER
/sbin/init 1 root
[kthreadd] 2 root
[migration/0] 3 root
[ksoftirqd/0] 4 root
[root@zhangxiao ~]#
“`
#### pgrep命令
pgrep [OPTION] pattern
“`
-U:实际用户
-u:有效用户
-t terminal :与terminal相关的
-l :显示进程名字
-a :完整格式显示进程名
-P:显示其以此处进程为父进程的进程列表
“`
pidof 进程名字
根据进程名字获取进程的ID号
### top命令
实时显示本机中的终端信息
默认占用CPU的大小进行排序(从大到小)
切换排序方式
M:按照内存大小排序
T:累计占用CPU时间排序
P:占据的CPU百分比排序(此次刷新时间内)
定义显示内容
l:命令 显示或隐藏此行信息
第一行内容:当前系统时间;运行时长;用户数;平均负载值(过去一分钟、五分钟、15分钟的) 备注:用uptime
命令可以单独显示此行
t:命令 显示或隐藏第二三行信息
第二行内容:进程数;运行状态进程数;睡眠状态的;停止状态的;僵尸状态的
第三行内容:cpu信息
命令 :1 显示多颗cpu信息
us:用户空间程序占用的宝粉币
sy:系统空间
ni:nice值
id:空闲的比例
wi:等待IO完成时间
hi:CPU处理硬中断所占的百分比
si:处理软中断占得
st:偷走的时间
m命令显示
第四行内容:物理内存大小(KB为单位) 总体空间;已用空间;空闲空间
退出top 命令 q 命令
修改刷新时间 s 命令修改
终止制定内容 k 命令
选项
-d:指明刷新时间间隔后加数字默认是3秒
-b:以批次模式显示
-n:通常和-b配合使用。后面加数字,显示几批
htop命令
“`
选项
-d :制定延迟时间
-u username:显示指定用户的进程
-s:以指定字段进行排序
s :跟踪选定进程的系统调用
l :跟踪选定进程打开的文件列表
a :将选定的进程绑定值cpu核心
“`
vmstat命令:
“`
[root@zhangxiao ~]#vmstat
procs ———–memory———- —swap– —–io—- –system– —–cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 368472 59076 223112 0 0 5 1 32 56 0 0 99 0 0
[root@zhangxiao ~]#
“`
各个显示字段的意思
“`
procs:
r:等待运行的进程的个数
b:处于不可中断睡眠状态进程个数
memory
swpd:交换内存的使用总量
free:物理内存的空闲总量
buffer:用于buffer的内存总量
catch:用于catch的内存总量
swap (从内存角度看)
si:数据进入交换内存的速率(kb/s)
so:数据离开交换内存的速率
io (从系统角度看)
bi:从块设备读入数据到系统的速率(kb/s)
bo:从系统保存至块设备的速率
system
in :中断速率
cs :进程切换速率
cpu
us:用户空间程序占用的宝粉币
sy:系统空间
id:空闲的比例
wi:等待IO完成时间
st:偷走的时间
“`
pmap :
“`
格式:一般pmap [option] pid
查看pid所代表的进程
-x :显示详细格式信息
这个命令可以用cat/proc/pid/maps
查看
“`
glances
“`
常用选项
-b :以字节为单位显示网卡数据速率
-d:关闭磁盘IO模块
-f /PATH/TO/SOMEFILE :设定输出文件位置
-o:{HTML|CVS}:输出模式
-m:禁用mount模块
-n:禁用网络模块
-t # :延迟时间间隔
-1:每个cpu相关数据单独显示
C/S 模式下运行glances 命令
服务模式
glances -s -B IPADDR
客户端模式
glances -c IPADDR
“`
dstat 命令
“`
-c:查看cup的信息(默认就带-c)
-C 【0,1,2,total】:查看指定CPU的信息
-d:显示磁盘的读写速率
-D DISK[total]:显示DISK的读写数据
-g:显示page相关统计数据
-I:显示终端的统计数据
-l:显示平均负载
-m:显示内存相关数据
-n:显示网络相关统计数据
-p:显示进程统计数据
-r:显示IO相关的统计数据
-s:显示交换空间的统计数据
–top-mem:占内存最大的
–top-io:占IO最大的
–top-cpu:占cpu最大的
“`
kill命令
“`
向进程发送控制信号,实现对进程的管理
-l :查看所有的信号
常用信号
1、重读配置文件(不关闭进程) SINGHUP
2、终止信号(相当于ctrl+c) SINGINT
9、杀死正在运行的进程 SINGKILL
15、终止正在运行的进程(让程序可以处理正在运行的数据) SINGTERM
18、使停止的状态的程序继续运行 SINGCONT
19、让其处于停止状态 SINGSTOP
“`
指定信号的方法
“`
(1)使用信号的数字标识
(2)信号的完整名
(3)信号的简写名
“`
向进程发送信号:
kill [-SIGNAL] PID …
终止“名称”之下的所有程序
“`
killall -SIGNAL PROGRAM
“`
LINUX的作业控制
“`
前台作业:运行时占据了命令行提示行的作业
后台作业:可以通过前台启动,但启动后就转入后台运行
已经启动的进程转入后台模式
ctrl+z
未启动的进程转入后台
CMD &
“`
此类作业虽然被送往后台运行,但是依然与终端相关,如果希望送往后台剥离与终端的关系则用
nohup CMD &
()此时如果终端被杀掉,进程不收影响
jobs 命令查看所有作业
作业控制
fg [%JOB_NUM] 把(制定的)后台作也调回前台
bg [%JOB_NUM] 让送往后台的作业继续在后台运
kill [%JOB_NUM] 杀死送往后台的作业
进程优先级调整
静态优先级:100-139
nice -n # CMD nice:启动进程时按照#优先级运行
renice -n # PID :调整运行的程序的优先级
查看ps axo pid,comm.ni
未涉及的命令:star,tstar,iostat,iftop
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97585