• 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。

     

  • 相关阅读:
    vue路由跳转时更改页面title
    vue:axios二次封装,接口统一存放
    https://github.com/simple-uploader/vue-uploader/blob/master/README_zh-CN.md
    基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件
    前端三大主流框架的对比React、Vue、Angular 所谓是是三分天下
    React前端框架以及和Vue的对比
    Win10远程桌面:身份验证错误要求的函数不受支持的解决方法
    经典案例模块——20200404
    流的新认知
    网络编程
  • 原文地址:https://www.cnblogs.com/lz-tester/p/10853617.html
Copyright © 2020-2023  润新知