Linux-day3-課堂筆記

進程:程序的運行態    佔用的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 )

  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。
相關文章
相關標籤/搜索