Linux-day3-课堂笔记

进程:程序的运行态    占用的CPU和内存的资源

线程:运行在进程中的一个部分  占用的CPU和内存的资源

进程和线程的区别

进程与进程之间是相互独立的

进程1: 1G内存 + 进程2:  1G内存  =  2G

线程与线程之间共享内存

    线程1: 1G内存 + 线程2:  1G内存 <= 2G

静态查看进程的指令: 显示的是在执行指令的那一秒时候的进程状态

   ps pidof pgrep

动态查看进程的指令: 根据时间段进行刷新。

   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 )

  1. nice 在进程创建的同时,指定进程优先级

nice -n 5 dd if=/dev/zero of=/dev/null

  1. 修改进程优先级 renice

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. 分析每个程序的依赖关系,并将这些依赖关系记录下来。Repodata目录
  2. 当使用yum安装程序的时候,需要去找到依赖关系的数据在哪里
  3. 根据依赖关系进行程序的安装

 

仓库   1. 程序  2. Repodata目录,存放依赖关系的数据文件

/etc/yum.repos.d目录下,仓库指向文件

告诉本地yum,你要装的程序在远程xxxx位置,你要搜寻的存放依赖关系的数据文件在什么位置

yum源

yum –y install wget

  1. 查找/etc/yum.repos.d/配置文件,我要去哪里找程序及程序的依赖关系
  2. 分析依赖关系,并下载程序进行安装的操作

 

仓库指向文件的写法:

/etc/yum.repos.d/

要求

  1. 所有需生效的文件.repo作为结尾
  2. 配置文件的格式

[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 只需指定程序名即可

 

 

源码编译的过程

  1. 官方网站下载源码包
  2. 进行参数筛选并检测

./configure --prefix=/opt/nginx --sbin-path=/opt/nginx/sbin/nginx --modules-path=/opt/nginx/modules --conf-path=/opt/nginx/conf/nginx.conf

  1. 编译、安装

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的步骤

  1. 底层分区存在
  2. 给分区打上标记,做成物理卷
  3. 将物理卷整合成卷组
  4. 将卷组划分成逻辑卷

创建对应的指令

物理卷  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 是支持缩小,缩小的步骤

  1. umount
  2. resize2fs /dev/datavg/datalv 500M
  3. lvreduce –L –
  4. vgreduce
  5. pvremove

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

作业

  1. 自己研究netstat命令的用法
  2. 构建一个ext4的文件系统,大小500M。
  3. 将该文件系统在线扩展至1G
  4. 构建1G的swap,并要求开机自动激活该swap。

 

原文地址:https://www.cnblogs.com/lz-tester/p/10853617.html