当前位置: 首页 > news >正文

松江php网站开发培训物流信息网站建设

松江php网站开发培训,物流信息网站建设,外包公司是什么,近期时事热点前言 那么这里博主先安利一些干货满满的专栏了#xff01; 首先是博主的高质量博客的汇总#xff0c;这个专栏里面的博客#xff0c;都是博主最最用心写的一部分#xff0c;干货满满#xff0c;希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏… 前言 那么这里博主先安利一些干货满满的专栏了 首先是博主的高质量博客的汇总这个专栏里面的博客都是博主最最用心写的一部分干货满满希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏《Docker从认识到实践再到底层原理》希望大家多多关注 Docker从认识到实践再到底层原理 Namespace Namespace可以隔离的一些资源如下。 Namespace系统调用参数被隔离的全局系统资源引入内核版本UTSCLONE_NEWUTS主机和域名2.6.19IPCCLONE_NEWIPC信号量、消息队列和共享内存、进程间通信2.6.19PIDCLONE_NEWPID进程编号2.6.24NetworkCLONE_NEWNET网络设备、网络栈、端口等2.6.29MountCLONE_NEWNS文件系统挂载点2.6.19UserCLONE_NEWUSER用户和用户组3.8 Namespace空间隔离实战 dd命令 Linux dd 命令用于读取、转换并输出数据dd 可从标准输入或文件中读取数据根据指定的格式来转换数据再输出到文件、设备或标准输出。 dd OPTION参数 if文件名输入文件名默认为标准输入。即指定源文件of文件名输出文件名默认为标准输出。即指定目的文件ibsbytes一次读入 bytes 个字节即指定一个块大小为 bytes 个字节obsbytes一次输出 bytes 个字节即指定一个块大小为 bytes 个字节bsbytes同时设置读入/输出的块大小为 bytes 个字节。cbsbytes一次转换 bytes 个字节即指定转换缓冲区大小skipblocks从输入文件开头跳过 blocks 个块后再开始复制seekblocks从输出文件开头跳过 blocks 个块后再开始复制countblocks仅拷贝 blocks 个块块大小等于 ibs 指定的字节数conv关键字关键字有11种。 可以用它来生成一个指定大小的空白文件 dd if/dev/zero oftest.img bs8k count1024/dev/zero是操作系统的一个特殊文件可以产生连续不断的空白字符流 这里就可以产生一个8M的文件。 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ dd if/dev/zero oftest.img bs8k count1024 10240 records in 10240 records out 8388608 bytes (8.4 MB, 8.0 MiB) copied, 0.00964433 s, 870 MB/s (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ ll -h total 8.0M -rw-rw-r-- 1 yufc yufc 8.0M Aug 29 19:50 test.img (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ 也可以用来做一个大小写转换 先创建一个test.txt然后里面写Hello World! mkfs命令 用于在设备上创建 Linux 文件系统俗称格式化比如我们使用 U 盘的时候可以格式化。 mkfs [-V] [-t fstype] [fs-options] filesys [blocks]参数 Shell -t fstype : 指定要建立何种文件系统;如 ext3ext4 filesys : 指定要创建的文件系统对应的设备文件名; blocks:指定文件系统的磁盘块数。 -V : 详细显示模式 fs-options : 传递给具体的文件系统的参数我们可以把刚才dd命令生成的test.img格式化成一个磁盘。 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ ls out.txt test.img test.txt (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ mkfs -t ext4 ./test.img mke2fs 1.42.9 (28-Dec-2013) ./test.img is not a block special device. Proceed anyway? (y,n) y Discarding device blocks: done Filesystem label OS type: Linux Block size1024 (log0) Fragment size1024 (log0) Stride0 blocks, Stripe width0 blocks 2048 inodes, 8192 blocks 409 blocks (4.99%) reserved for the super user First data block1 Maximum filesystem blocks8388608 1 block group 8192 blocks per group, 8192 fragments per group 2048 inodes per groupAllocating group tables: done Writing inode tables: done Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done(base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ ll total 1184 -rw-rw-r-- 1 yufc yufc 12 Aug 29 19:56 out.txt -rw-rw-r-- 1 yufc yufc 8388608 Aug 29 20:09 test.img -rw-rw-r-- 1 yufc yufc 12 Aug 29 19:54 test.txt (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$df命令 Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。 df [OPTION]... [FILE]...参数 -a, --all 包含所有的具有 0 Blocks 的文件系统 -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...) -H, --si 很像 -h, 但是用 1000 为单位而不是用 1024 -t, --typeTYPE 限制列出文件系统的 TYPE -T, --print-type 显示文件系统的形式案例 #查看磁盘使用情况 df -h #查看磁盘的系统类型 df -Th(base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 857M 0 857M 0% /dev tmpfs 868M 0 868M 0% /dev/shm tmpfs 868M 572K 867M 1% /run tmpfs 868M 0 868M 0% /sys/fs/cgroup /dev/vda1 40G 26G 13G 68% / tmpfs 174M 0 174M 0% /run/user/1000 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 877396 0 877396 0% /dev tmpfs 887988 0 887988 0% /dev/shm tmpfs 887988 572 887416 1% /run tmpfs 887988 0 887988 0% /sys/fs/cgroup /dev/vda1 41152812 26333864 12915240 68% / tmpfs 177600 0 177600 0% /run/user/1000 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$mount命令 mount 命令用于加载文件系统到指定的加载点。此命令的也常用于挂载光盘使我们 可以访问光盘中的数据因为你将光盘插入光驱中Linux 并不会自动挂载必须使用 Linux mount 命令来手动完成挂载。 Linux 系统下不同目录可以挂载不同分区和磁盘设备它的目录和磁盘分区是分离的 可以自由组合(通过挂载) 不同的目录数据可以跨越不同的磁盘分区或者不同的磁盘设备。 挂载的实质是为磁盘添加入口(挂载点)。 什么是挂载 比如U盘插进电脑之后在某个目录下弹出来这个目录就是挂载点。就是给这个U盘添加入口。 mount [-l] mount [-t vfstype] [-o options] device dir参数 常见参数 显示已加载的文件系统列表: -t: 加载文件系统类型支持常见系统类型的 ext3,ext4iso9660,tmpfs,xis 等,大部分情况可以不指定mount可以自己识别 -o options 主要用来描述设备或档案的挂接方式。loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备 device: 要挂接(mount)的设备 dir: 挂载点的目录unshare命令 unshare 主要能力是使用与父程序不共享的名称空间运行程序。 unshare [options] program [arguments]参数 参数含义-i, --ipc不共享 IPC 空间-m, --mount不共享 Mount 空间-n, --net不共享 Net 空间-p, --pid不共享 PID 空间-u, --uts不共享 UTS 空间-U, --user不共享用户-V, --version版本查看–fork执行 unshare 的进程 fork 一个新的子进程在子进程里执行 unshare 传入的参数–mount-proc执行子进程前将 proc 优先挂载过去 这幅图里面一开始unshare创建了一个子进程隔离的进程是bash 所以unshare下面我去修改hostname是修改这个子进程的hostname然后exit也是退出这个子进程而已不会影响外面的hostname。 进程隔离实战操作PID隔离 unshare -p /bin/bash我们会发现直接报错。 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ unshare -p /bin/bash unshare: unshare failed: Operation not permitted (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$为什么会报这个错呢 因为如果直接-p去隔离PID信息会导致新的进程看不见原来父进程bash的信息会导致他后续会有问题。 也就是说这个新进程不知道自己的父进程是谁了这是不允许的。所以。 unshare -p --fork /bin/bash # 这样即可我们再打开另一个bash然后ps -ef查看一下进程信息。 发现是一样的并没有完成隔离。 (base) [yufcALiCentos7:~]$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Aug16 ? 00:00:36 /usr/lib/systemd/systemd --switched-root --system --deserial root 2 0 0 Aug16 ? 00:00:00 [kthreadd] root 4 2 0 Aug16 ? 00:00:00 [kworker/0:0H] root 6 2 0 Aug16 ? 00:00:03 [ksoftirqd/0] ...[rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Aug16 ? 00:00:36 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0 0 Aug16 ? 00:00:00 [kthreadd] root 4 2 0 Aug16 ? 00:00:00 [kworker/0:0H] root 6 2 0 Aug16 ? 00:00:03 [ksoftirqd/0] ...这是为什么呢这是因为我们/proc目录下本来就有很多进程大家都看得到的。 因此要采用另一个参数。 unshare -p --fork --mount-proc /bin/bash此时再次ps -ef查看进程。 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ sudo unshare -p --fork --mount-proc /bin/bash [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ ps -efUID PID PPID C STIME TTY TIME CMD root 1 0 0 09:48 pts/0 00:00:00 /bin/bash root 20 1 0 09:48 pts/0 00:00:00 ps -ef [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$此时已经看不到什么进程了我们完成进程隔离了。 mount隔离文件系统隔离 第一步打开第一个 shell 窗口 A执行命令df -h 查看主机默认命名空间的磁盘挂载情况。 (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 857M 0 857M 0% /dev tmpfs 868M 0 868M 0% /dev/shm tmpfs 868M 576K 867M 1% /run tmpfs 868M 0 868M 0% /sys/fs/cgroup /dev/vda1 40G 25G 13G 67% / tmpfs 174M 0 174M 0% /run/user/1000 /dev/loop0 6.8M 77K 6.2M 2% /home/yufc/Src/Bit-Courses/DockerSrc/data/testmymount (base) [yufcALiCentos7:~/Src/Bit-Courses/DockerSrc/data]$ 第二步打开一个新的shell窗口执行Mount隔离命令 unshare --mount --fork /bin/bash第三步在窗口 B 中添加新的磁盘挂载 [rootALiCentos7:/home/yufc]$ cd /home/yufc/Src/Bit-Courses/DockerSrc/data [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ dd if/dev/zero ofdata2.img bs8k count10240 102400 records in 102400 records out 83886080 bytes (84 MB, 80 MiB) copied, 0.0747759 s, 1.1 GB/s [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ ls格式化这个文件。 [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ mkfs -t ext4 ./data2.img mke2fs 1.42.9 (28-Dec-2013) ./data2.img is not a block special device. Proceed anyway? (y,n) y Discarding device blocks: done Filesystem label OS type: Linux Block size1024 (log0)挂载到当前的一个目录下。 [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ tree . . ├── data2.img ├── out.txt ├── test.img ├── testmymount │ └── lostfound ├── testmymount2 └── test.txt3 directories, 4 files [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ cd /home/yufc/Src/Bit-Courses/DockerSrc/data^C [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ mount -t ext4 ./data2.img ./testmymount2 [rootALiCentos7:/home/yufc/Src/Bit-Courses/DockerSrc/data]$ 我们发现在这个bash下面是可以看到这个挂载点的。 但是外面的bash是看不到的 因此我们成功完成了一次挂载点的隔离 现在无论我们在testmymount2这个文件夹里面去添加或者修改任何文件外面都是找不到的 因此在当前的进程中是有文件隔离的 Cgroups 什么是cgroups cgroups(Control Groups)是 linux 内核提供的一种机制这种机制可以根据需求把系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内从而为系统资源管理提供一个统一的框架。简单说cgroups 可以限制、记录任务组所使用的物理资源。本质上来说cgroups 是内核附加在程序上的一系列钩子(hook)通过程序运行时对资源的调度触发相应的钩子以达到资源追踪和限制的目的。 cgroups的用途 Resource limitation: 限制资源使用例: 内存使用上限/cpu 的使用限制 Prioritization: 优先级控制例:CPU 利用/磁盘IO 吞吐 Accounting:一些审计或一些统计 Control: 挂起进程/恢复执行进程 cgroups可以控制的子系统 https://blog.csdn.net/taoxicun/article/details/127268136 pidstat命令 pidstat是 sysstat 的一个命令用于监控全部或指定进程的 CPU、内存、线程、设备1O 等系统资源的占用情况。Pidstat 第一次采样显示自系统启动开始的各项统计信息后续采样将显示自上次运行命令后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 pidstat [ 选项 ] [ 时间间隔 ] [ 次数 ]-u : 默认参数显示各进程的 CPU 使用统计 -r : 显示各进程的内存使用统计 -d : 显示各进程的IO使用情况 -p : 指定进程号,ALL表示所有进程 -C : 指定命令 -l : 显示命令名和所有参数stress stress 是 Linux 的一个压力测试工具可以对 CPU、Memory、IO、磁盘进行压力测试。 stress [OPTION [ARG]]-c, --cpu N : 产生 N个进程每个进程都循环调用 sqrt 函数产生 CPU 压力。 -i, --io N : 产生 N个进程每个进程循环调用 sync 将内存缓冲区内容写到磁盘上产生I0 压力。通过系统调用 sync 刷新内存缓冲区数据到磁盘中以确保同步。如果缓冲区内数据较少写到磁盘中的数据也较少不会产生IO压力。在 SSD 磁盘环境中尤为明显很可能 iowait 总是 0却因为大量调用系统调用 sync导致系统 CPU 使用率 sys 升高。 -m, --vm N : 产生 N 个进程每个进程循环调用 malloc/free 函数分配和释放内存。 --vm-bytes B : 指定分配内存的大小 --vm-keep : 一直占用内存区别于不断的释放和重新分配(默认是不断释放并重新分配内存) -d, --hdd N : 产生 N个不断执行 write和 unlink 函数的进程(创建文件写入内容删除文件) --hdd-bytes B : 指定文件大小 -t, --timeout N : 在 N秒后结束程序 -q, --quiet:程序在运行的过程中不输出信息实操。 我们在打开另一个shell对cpu进行一个监控 pidstat -C stress -p ALL -u 2 10000这里的意思是监控stress这个命令相关的所有进程的cpu使用情况2s输出一次一共输出10000次。 在另一个shell中启动stress。 stress -c 1此时我们可以通过shell查看发现此时cpu已经打满了。 测试一下-i选项。 测试一下-m选项 stress -m 1 --vm-bytes 50m # 申请50mb的内存pidstat -C stress -p ALL -r 2 10000 # 查看内存就不是-u了而是-r测试一下-d选项。 然后监控读写信息。 stress -d 1pidstat -C stress -p ALL -d 2 10000测试一下-t选项 stress -d 1 -t 3 # 3s后停止cgroups版本信息查看 (base) [yufcALiCentos7:~]$ cat /proc/filesystems | grep cgroup nodev cgroup (base) [yufcALiCentos7:~]$如果看到 cgroup2表示支持 cgroup v2。 cgroups子系统查看 (base) [yufcALiCentos7:~]$ cat /proc/cgroups #subsys_name hierarchy num_cgroups enabled cpuset 8 1 1 cpu 2 4 1 cpuacct 2 4 1 memory 7 2 1 devices 9 1 1 freezer 11 1 1 net_cls 4 1 1 blkio 10 1 1 perf_event 3 1 1 hugetlb 6 1 1 pids 5 1 1 net_prio 4 1 1 (base) [yufcALiCentos7:~]$ cgroups挂载信息查看 (base) [yufcALiCentos7:~]$ mount | grep cgroup tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode755) cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent/usr/lib/systemd/systemd-cgroups-agent,namesystemd) cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu) cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event) cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls) cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids) cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb) cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory) cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices) cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio) cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) (base) [yufcALiCentos7:~]$查看一个进程上的cgroup限制 以当前 shell 进程为例,查看进程的 cgroup。 (base) [yufcALiCentos7:~]$ cat /proc/$$/cgroup 11:freezer:/ 10:blkio:/ 9:devices:/ 8:cpuset:/ 7:memory:/ 6:hugetlb:/ 5:pids:/ 4:net_prio,net_cls:/ 3:perf_event:/ 2:cpuacct,cpu:/ 1:namesystemd:/user.slice/user-1000.slice/session-2594.scope (base) [yufcALiCentos7:~]$
http://www.zqtcl.cn/news/781/

相关文章:

  • 东莞市传送机技术支持 网站建设最专业汽车网站建设
  • 天津做一个简单的网站首页江门seo网站
  • 做网站跟桌面程序差别大吗潍坊电商网站建设
  • 网站建设app小程序开发网站如何做快捷支付
  • 合肥外贸网站推广建筑工程分包平台
  • 金华网站制作费用佛山网络推广电话
  • 做网站能注册账号的县门户网站建设整改
  • 网站备案流程及步骤辽阳免费网站建设公司
  • 上海加强旅游住宿业与商业场所南宁快速优化排名
  • 企业百度网站怎么做湖南响应式网站建设费用
  • 聊城网站建设电话可以做动漫网站的源码源码
  • mv网站源码网络空间安全考研
  • 建设企业网站的哪家好微信小程序开通流程
  • 绥化市住房和城乡建设网网站聚名网实名认证
  • 天津seo公司网站海报设计网站免费
  • 宁波网站设计价格北京微信网站建设费用
  • 宜昌网站建设设计自学做网站
  • 温州免费建站模板南京网站设计网站
  • 二合一收款码免费制作网站企业管理系统介绍
  • 综合网站系统彩妆网站建设
  • 网站平台结构马鞍山网站建设价格
  • 酒店网站设计电子商务网站建设林锋课本答案
  • 建设银行网站不主动弹出安康网站开发公司报价
  • 制作网站商东城专业网站建设公司
  • 安徽企业网站制作排名优化公司电话
  • 成都网站制作系统wordpress页面 文章
  • 南昌自主建站模板asp.net 跳转别的网站
  • 企业门户网站建设管理制度wap网站制作工具
  • 鞍山市建设局网站logo素材大图
  • 建设网站哪家公司比较好广州展厅设计公司有哪些