进程:程序的运行态 占用的CPU和内存的资源node
线程:运行在进程中的一个部分 占用的CPU和内存的资源linux
进程和线程的区别nginx
进程与进程之间是相互独立的centos
进程1: 1G内存 + 进程2: 1G内存 = 2Gapp
线程与线程之间共享内存ssh
线程1: 1G内存 + 线程2: 1G内存 <= 2G网站
静态查看进程的指令: 显示的是在执行指令的那一秒时候的进程状态url
ps pidof pgrepspa
动态查看进程的指令: 根据时间段进行刷新。线程
top htop atop
%cpu 0.3 us, 0.3 sy , 99.3 id, 0.0 wa
us: user 用户拥有的进程占用CPU 百分比
sy: system 系统用户拥有的进程占用CPU 百分比状况
id: idle cpu空闲率
wa: IO等待进程占用CPU百分比
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7218 root 20 0 107996 620 524 R 100.0 0.1 1:54.59 dd
top
%Cpu 100 à 占用单个CPU的资源状况
linux 分时系统
CPU处理进程,
把进程进行切片的操做(根据时间切片)
查看内存 free –m
Mem
swap 虚拟内存: 目的缓解物理内存不足,把磁盘的一部分空间模拟内存去用。
Swap必须有,但愿不要去用到
Top
d
M
P
Htop
kill pid # 将进程终止,正常退出。
kill -9 7295 # 将进程杀死
1 信号 SIGHUP 从新加载
15 信号 TERM 终止进程信号
9 信号 KILL 强制杀死进程
kill -l 查看信号标示符号
pkill 可以根据条件检索进程并终止
优先级 数字越小,优先级越高(-20 至 19 )
nice -n 5 dd if=/dev/zero of=/dev/null
renice -n -1 26613
将进程放到后台去运行,执行命令以后加上“&”
dd if=/dev/zero of=/dev/null &
后台命令运行哪些场景
备份
tar
回家做业查询信号对应的含义
7版本的启动方式
systemctl status sshd
systemctl start sshd
systemctl stop sshd
systemctl enable sshd
systemctl disable sshd
6版本的启动方式
/etc/init.d/sshd start | stop | restart
安装程序的方式
1) 基于rpm包安装程序
rpm yum
特色:程序的路径是固定的,程序包是别人定制好
2) 二进制安装 可指定位置进行安装,更多一些个性化的操做
3) 源码编译: 灵活程度最高,功能、路径等等,最复杂的。
yum:基于rpm包的管理格式,提供了一套自动解决依赖关系的方法。
仓库 1. 程序 2. Repodata目录,存放依赖关系的数据文件
/etc/yum.repos.d目录下,仓库指向文件
告诉本地yum,你要装的程序在远程xxxx位置,你要搜寻的存放依赖关系的数据文件在什么位置
yum源
yum –y install wget
仓库指向文件的写法:
/etc/yum.repos.d/
要求
[root@jenny01 yum.repos.d]# cat epel.repo
[test] # 自定义名称
name= # 说明
baseurl=https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/ # 指向repodata目录所在位置,file:// https://
enable=1 # 启用该段配置
gpgcheck=0 # 是否须要经过gpgkey作检测
yum makecache
yum search zip
yum install nginx
查询:
rpm -ql nginx # 查询程序安装出来的文件
rpm –qa # 查看全部已安装的程序
rpm –qf # 查看指定文件由哪一个程序安装出来的
rpm -qi sysstat # 查看已安装程序详细信息
卸载:
rpm –e
rpm -e nginx --nodeps # 忽略依赖关系,仅卸载程序
更新:
yum update
注意:
rpm –ivh ..rpm
yum 只需指定程序名便可
源码编译的过程
./configure --prefix=/opt/nginx --sbin-path=/opt/nginx/sbin/nginx --modules-path=/opt/nginx/modules --conf-path=/opt/nginx/conf/nginx.conf
make
make install
装bzip2 xz sysstat
看一下/etc/passwd
划分分区 à 建立文件系统 -> 挂载
格式化 访问磁盘的入口
分区能分几个区?
针对磁盘文件作操做
对应的指令 fdisk
一般状况下,磁盘文件/dev
sata/scsi sda sdb sdc
hda hdb
vda vdb
xvda xvdb
分区文件 /dev/sda1 /dev/sda2 /dev/sda3
fdisk /dev/sdc
n # 新建分区
p 主分区
e 扩展分区
d # 删除分区
p # 打印当前分区信息
建立逻辑分区的前提是,扩展分区必须存在,且逻辑分区空间来自于扩展分区。
可以直接用的分区,只有主分区和逻辑分区
建立文件系统(格式化)
组织数据的方式 -à文件系统
inode block 分区的
linux ext4 xfs
建立文件系统的指令
ext4 mkfs.ext4 /dev/sdc1
xfs mkfs.xfs /dev/sdc2
blkid /dev/sdc1 # 用来查看分区的文件系统类型
报警: no more free space
df –h 查看磁盘空间大小是足够的,极可能是由于inode不够了。
挂载: mount
mount /dev/sdc1 /mnt
卸载: umount
umount /mnt
mount 开机的时候若是想要挂载
/etc/fstab
/dev/sdc1 /mnt ext4 defaults 0 0
mount –a
建立一个lvm的步骤
建立对应的指令
物理卷 pvcreate
卷组 vgcreate
逻辑卷 lvcreate
建立一个LV,大小要求500M。
pvcreate /dev/sdc3 /dev/sdc5
vgcreate datavg /dev/sdc3 /dev/sdc5
lvcreate -n datalv -L 500M datavg
设备文件/dev/datavg/datalv
mkfs.xfs /dev/datavg/datalv
查看lvm相关信息的
pvs
vgs
lvs
lvm
场景1:
在线扩容:
lvextend
lvextend -L +524M /dev/datavg/datalv 在原有的基础上增长500M空间
针对文件系统进行扩展
xfs_growfs /dev/mapper/datavg-datalv
vgextend
1037 pvcreate /dev/sdc6
1038 vgextend datavg /dev/sdc6
1039 vgs
1040 lvs
1041 lvextend -L +1G /dev/datavg/datalv
1042 lvs
1043 xfs_growfs /dev/datavg/datalv
文件系统是xfs 对应的扩展文件命令是xfs_growfs
文件系统是ext4 对应的命令是resize2fs /dev/datavg/datalv
lvreduce
1) xfs不支持缩小
2) ext4 是支持缩小,缩小的步骤
lvm
Swap
[root@jenny01 datalv]# mkswap /dev/vgtest/swap
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=50b15e3d-9b6f-4ead-be54-47dc0bc84a68
[root@jenny01 datalv]# swapon /dev/vgtest/swap # 激活swap
[root@jenny01 datalv]# swapon –s # 查看当前swap的构成
[root@jenny01 datalv]# free -m
total used free shared buff/cache available
Mem: 972 147 651 7 173 642
Swap: 4095 0 4095
/etc/fstab
/dev/mapper/centos-swap swap swap defaults 0 0
做业