
linux操作系统知识
文章平均质量分 70
勤学-365
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux命令d---df
常用参数含义:-h:以较易阅读的KB MB GB显示-T:显示分区文件系统df -h /etc :显示etc使用的分区文件系统及容量信息原创 2020-01-26 16:09:19 · 227 阅读 · 0 评论 -
linux命令l---lsof
下面仅列举一下常用用法:1、lsof -i :22 显示与指定端口相关的网络信息2、lsof -u ceph 显示指定用户打开了什么3、lsof -u ^ceph 显示除指定用户以外的其他所有用户所做的事情4、kill -9 `lsof -t -u daniel 杀死指定用户做的一切事情5、lsof -c ceph-osd 指定的命令正在使用的文件和网络连接6、lsof -p...原创 2020-01-27 10:07:05 · 262 阅读 · 0 评论 -
iostat
一、iostat常用用法iostat 主要有三个操作箱,options 操作项,interval指定统计时间间隔,count总共输出次数options操作项常用字段:-t:在输出数据时,打印搜集数据时的时间-x:输出扩展信息-k、-m:某些block为单位的列强制使用KB或者M-p:用于显示块设备及系统分区的统计信息,简单用法如下:iostat -x 1 -p /dev/sdb 查...原创 2020-01-26 16:13:54 · 987 阅读 · 0 评论 -
linux命令s---sar
文章目录常用用法1. CPU利用率1.1. CPU输出项说明2. 内存利用率2.1. 内存输出项说明3. 磁盘I/O3.1. IO输出项说明4. 网络流量4.1. DEV输出项说明常用用法1. CPU利用率sar -p (查看全天)sar -u 1 10 (1:每隔一秒,10:写入10次)1.1. CPU输出项说明详细说明CPU all 表示统计信息为所有 CPU 的平均值。...原创 2020-01-27 10:07:10 · 244 阅读 · 0 评论 -
pstree
文章目录参数含义参数含义a:显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号p:显示进程pids:显示指定进程的父进程...原创 2020-01-27 10:07:15 · 337 阅读 · 0 评论 -
linux命令s---strace
文章目录什么是strace常用用法1、找出程序在startup的时候读取的哪个config文件?什么是stracestrace是一个非常简单的工具,它可以跟踪系统调用的执行。最简单的方式,它可以从头到尾跟踪binary的执行,然后以一行文本输出系统调用的名字,参数和返回值。其实它可以做的更多:** 可以对特定的系统调用或者几组系统调用进行过滤** 可以通过统计特定系统调用的调用次数...原创 2020-01-26 16:21:18 · 407 阅读 · 0 评论 -
perf
文章目录常用用法1、显示占用cpu情况2、显示占用cpu情况,且记录信息3、显示占用cpu情况,且打印函数详细信息常用用法1、显示占用cpu情况perf top2、显示占用cpu情况,且记录信息perf recordperf report3、显示占用cpu情况,且打印函数详细信息perf top -g -p 123 ...原创 2020-01-27 10:07:11 · 194 阅读 · 0 评论 -
pidstat
文章目录作用作用该工具主要用来查看具体进程占用cpu情况,当系统cpu紧张时,可以查看具体那个进程导致系统性能压力较大原创 2020-01-26 16:14:26 · 505 阅读 · 0 评论 -
linux性能提升1--工具图谱
文章目录linux性能官网工具图谱linux性能官网http://www.brendangregg.com/linuxperf.html工具图谱原创 2020-01-27 10:08:42 · 262 阅读 · 0 评论 -
linux命令p---ping
linux下ping包的默认大小为64Byte,次数不限。但有时我们需要尝试ping大数据包,来测试网络的状况,这时,就要指定ping包的大小了。Linux下ping(vxworks 基本上和linux的一样)大数据包的格式;语 法:ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][...原创 2020-01-27 10:22:49 · 1044 阅读 · 0 评论 -
自动精简配置
自动精简配置(Thin provisioning)自动精简配置,有时也被称为”超额申请“,是一中重要的新兴存储技术。本文定义了自动精简配置,并介绍它的工作原理、使用局限和一些使用建议。如果应用程序所使用的存储空间已满,就会崩溃。因此,存储管理员通常分配比应用程序实际需要的存储空间更大的存储容量,以避免任何潜在的应用程序故障。这种做法为未来的增长提供了“headroom”(净空),并减少了应用程...原创 2020-01-27 10:12:09 · 692 阅读 · 0 评论 -
容量单位换算
1KB (Kilobyte 千字节)=1024B, 1MB (Megabyte 兆字节 简称“兆”)=1024KB, 1GB (Gigabyte 吉字节 又称“千兆”)=1024MB, 1TB (Trillionbyte 万亿字节 太字节)=1024GB, 1PB (Petabyte 千万亿字节 拍字节)=1024TB, 1EB (Exabyte 百亿亿字节 艾字节)=1024...原创 2020-01-27 10:33:01 · 4056 阅读 · 0 评论 -
总结一些最近用到的存储技术
问:同样100路2M的nrutest压力下发到5快盘(4+1)和10快盘(8+2)区别是什么?1、2M的压力落到5块盘(4+1),平均每块盘压力是2M/4 = 256k+1k(元数据)2、2M的压力落到10块盘(8+2),平均每块盘压力是2M/8 = 128k+0.5k(元数据)3、假设有1000个io,那么落盘次数两种情况下都不会减少,区别是io块大小不一样。最后性能差距就成了不同io大...原创 2020-01-27 10:12:12 · 219 阅读 · 0 评论 -
用户和用户组
1、/etc/passwd文件分析root:x :0:0:root:/root:/bin/bash1 2 3 4 5 6 71:就是账号,用来对应UID2:早期这个字段用来存放密码,但是因为这个文件能够被所有程序修改,所以后面把密码放到/etc/shadow中了,因此这里一般为x3:UID即用户标识符,下面是linux对UID的几个限制0:系统管理员:当一个账户...原创 2020-01-27 10:23:04 · 165 阅读 · 0 评论 -
linux磁盘常用操作
1、查看磁盘信息,可查看槽位lsscsi2、修改磁盘配置文件echo 32 > /proc/sys/vm/dirty_ratioecho 15 > /proc/sys/vm/dirty_background_ratioecho 4096 > /sys/block/${iscsi开出来的盘符}/queue/max_sectors_kb 一次请求中block 层最大支持多...原创 2020-01-27 10:34:23 · 1133 阅读 · 0 评论 -
linux常用配置文件
1、/proc/sys/vm/drop_caches清空pagecachesyncecho 1 > /proc/sys/vm/drop_caches或syncsysctl -w vm.drop_caches=1清空dentries和inodes:syncecho 2 > /proc/sys/vm/drop_caches或者:syncsysctl -w vm.dr...原创 2020-01-26 16:07:03 · 415 阅读 · 0 评论 -
系统卡启动失败的解决手段
文章目录1、fstab导致启动失败真实现场2、文件系统损坏场景1:直接进入紧急模式场景2:EXT文件系统修复(root文件系统/sysroot可正常挂载的情况)3、根分区损坏或者fstab配置错误4、引导分区无法进入单用户模式(Single-User Mode) :在单用户模式,电脑为开机进入runlevel 1,本机档案系统已经被挂载,网路不会启动,使用系统维护的 shell。单机使用者模式...原创 2020-01-27 10:10:11 · 2369 阅读 · 0 评论 -
smaba
文章目录基本概念基本概念Samba 是种用来让 UNIX 系列的操作系统与微软 Windows 操作系统的 SMB/CIFS 网络协议做链接的自由软件。简而言之,此软件在 Windows 与 UNIX 系列操作系统之间搭起一座桥梁,让两者的资源可互通有无。...原创 2020-01-27 10:09:38 · 259 阅读 · 0 评论 -
Linux IO Scheduler(Linux IO 调度器)
前言:每个块设备或者块设备的分区,都对应有自身的请求队列(request_queue),而每个请求队列都可以选择一个I/O调度器来协调所递交的request。I/O调度器的基本目的是将请求按照它们对应在块设备上的扇区号进行排列,以减少磁头的移动,提高效率。每个设备的请求队列里的请求将按顺序被响应。实际上,除了这个队列,每个调度器自身都维护有不同数量的队列,用来对递交上来的request进行处理,...原创 2020-01-27 10:12:01 · 270 阅读 · 0 评论 -
Linux内核io体系之磁盘io
文章目录架构图前言名词解释IO体系VFS层superblockinodedentryfilePageCache层脏页刷盘预读策略映射层通用块层IO调度层块设备驱动层物理设备层FAQ架构图前言Linux I/O体系是Linux内核的重要组成部分,主要包含网络IO、磁盘IO等。基本所有的技术栈都需要与IO打交道,分布式存储系统更是如此。本文主要简单分析一下磁盘IO,看看一个IO请求从发起到完成...原创 2020-01-26 16:20:59 · 1102 阅读 · 1 评论 -
Linux文件系统
文章目录概念文件系统结构1、虚拟文件系统(VFS)2、文件系统3、General Block Device Layer4、硬盘驱动文件系统存储结构了解物理磁盘关键知识文件系统如何管理磁盘ext2、ext3等linux常规文件系统创建一个文件的过程创建一个目录的过程链接的概念文件移动或重命名文件文件的共享(硬链接和软连接)硬链接1、基本概念2、使用3、硬链接特性4、创建一个硬链接的步骤5、硬链接有两...原创 2020-01-27 10:11:55 · 823 阅读 · 0 评论 -
linux io缓存与内存映射
文章目录前言缓存存在的意义:无处不在的缓存:页缓存页缓存读写流程页缓存同步写页缓存读写实验前言缓存存在的意义:解决两个输入输出设备速度的差异无处不在的缓存:• CPU级别的缓存:cache、TLB,让CPU更高效运行• 操作系统的缓存:页缓存、slab,让系统更高效运行• 应用层的缓存:内存管理、IO应用缓存,让应用更高效运行页缓存linux基于页来管理内存(一个页一般大小为4K...原创 2020-01-27 10:09:30 · 1111 阅读 · 0 评论 -
linux LVM
文章目录一、基本概念LVM 概念LVM用途文件名文件路径二、LVM组成PVVGPELVVG、LV、PE关系图三、LVM实现流程四、LVM操作流程1、创建新的分区并调整System ID为8e2、创建PV2.1使用pvdisplay查看新建PV状态3、创建VGvgcreate:新建VG的命令vgscan:查找系统上的VGvgdisplay:显示VG的状态信息vgextend:在目标VG中增加额外PV...原创 2020-01-27 10:11:33 · 672 阅读 · 0 评论 -
linuxC多进程通讯---信号量+共享内存示例
文章目录生产消费者模型例程cousumerproducerSystem V 信号量的通信特点生产消费者模型•2个生产者,每1S、5S往缓冲区写一次数据•3个消费者,每2S、2S、5S往缓冲区读一次数据•2个写进程分别对写信号量做P操作、对读信号量做V操作•3个读进程分别对写信号量做V操作、对读信号量做P操作例程cousumer#include <stdio.h>#i...原创 2020-01-27 10:29:56 · 1109 阅读 · 0 评论 -
linuxC多进程通讯---POSIX消息队列之异步通知
文章目录异步通知API介绍•函数原型:•函数功能:•函数参数:关键结构体:sigevent举例异步信号处理端消息发送端异步通知API介绍•函数原型:int mq_notify(mqd_t mqdes, const struct sigevent * sevp);•函数功能:–当空的消息队列到来消息时给进程发送一个通知–当执行完相关处理,通知机制结束,可以重新调用mq_notify注册...原创 2020-01-27 10:28:45 · 665 阅读 · 0 评论 -
linux多进程通讯---信号底层API sigaction sigqueue
文章目录sigaction 函数原型sigaction 函数功能sigqueue 函数原型sigqueue 函数功能一些经验示例signalsigaction 和 sigqueue CP交互sigactionsigqueuesigaction 函数原型int sigaction(int signum, const struct sigaction *act,struct sigaction *...原创 2020-01-27 10:27:20 · 411 阅读 · 0 评论 -
linux多进程通讯---信号新增API signalfd
文章目录优缺点使用说明函数说明举例优缺点•在软件层次上是对中断机制的一种模拟•信号是进程间通信中唯一的“异步通信机制”•带来的弊端:数据的并发访问、可重入问题•解决方案:将信号抽象为文件,将信号转化为I/O文件操作使用说明•将信号抽象为一个文件描述符•将信号的异步处理转换为文件的I/O操作•当有信号发生时,可以对其read•每次read都会阻塞、直到signalfd指定的信号到...原创 2020-01-27 10:27:07 · 422 阅读 · 0 评论 -
linux多进程通讯---信号新增API timerfd
文章目录定时器说明举例定时器说明•函数功能:通过文件I/O方式去获取定时器的通知事件•相关API:–int timerfd_create(int clockid, int flags);–int timerfd_settime(int fd, int flags, const struct itimerspec *new_value,struct itimerspec *old_val...原创 2020-01-27 10:27:01 · 269 阅读 · 0 评论 -
linux多进程通讯---信号新增API eventfd
文章目录API说明举例API说明•eventfd API•int eventfd(unsigned int initval, int flags);–用来创建一个用于事件通知的eventfd对象–返回值为一个int型fd,用来引用打开的对象–打开的对象在内核中是一个64位的无符号整型计数器,初始化为initval–计数器数据类型:typedef uint64_t eventfd_t...原创 2020-01-27 10:26:58 · 380 阅读 · 0 评论 -
linux多进程通讯---signal 信号机制
文章目录基本概念信号的来源进程对信号的处理方式信号相关API系统调用signal系统调用:kill系统调用:pause系统调用:alarm系统调用:setitimer函数示例pausesetitimersignalalarmkill基本概念•又叫:软中断信号,是一种异步通信的IPC•类似于硬件中断,可以将一个事件以信号形式通知给进程•给一个指定进程发送一个信号–信号只是告诉进程发生了什么...原创 2020-01-27 10:28:18 · 923 阅读 · 0 评论 -
linuxC多进程通讯---文件锁
文章目录•什么是文件锁•系统调用:flock•系统调用:fcntl•系统调用:lockf示例flock示例fcntl示例lockf•什么是文件锁•英文名:file lock,在同一时刻只允许一个进程对文件进行访问•建议性锁:advisory locking,又称协同锁–内核只提供加减锁以及检测是否加锁,不提供锁的控制与协调工作–需要多进程相互检测确认的加锁机制–A进程对一个操作的文件加...原创 2020-01-27 10:28:23 · 706 阅读 · 0 评论 -
linuxC多进程通讯---POSIX共享内存
文章目录相关的API函数ftruncatemunmap简单的共享内存读写示例readwrite信号量和共享内存 使用示例writeread相关的API函数•int shm_open (const char *name, int oflag, mode_t mode);•int shm_unlink (const char *name);•int ftruncate (int fd, off...原创 2020-01-27 10:28:29 · 384 阅读 · 0 评论 -
linuxC多进程通讯----POSIX信号量
文章目录相关API使用说明基本创建、加减、关闭示例两个进程通过信号量通讯示例postwait父子进程通过信号量同步相关API•sem_t *sem_open (const char *name, int oflag);•sem_t *sem_open (const char *name, int oflag,mode_t mode, unsigned int value);•int sem...原创 2020-01-27 10:28:35 · 322 阅读 · 1 评论 -
linuxC多进程通讯---POSIX消息队列之内核实现
文章目录POSIX消息队列内核实现•system V消息队列内核实现•内核中的消息队列描述符•查看设置消息队列的属性•POSIX消息队列在Linux上实现的特性•区别和联系POSIX 消息队列的优势举例POSIX消息队列内核实现•相关数据结构:/usr/include/linux/mqueue.h、/ipc/mqueue.c•消息队列是消息的链表,存储在内核中,由消息队列标识符标识。•标识...原创 2020-01-27 10:28:42 · 820 阅读 · 0 评论 -
linuxC多进程通讯---POSIX消息队列
文章目录posix与system v对比POSIX 编程注意事项相关API创建或打开 IPC 对象•函数原型:•函数功能:•函数参数:•函数返回值关闭POSIX 消息队列•函数原型:•函数功能:•TIPS:•删除一个POSIX 消息队列•函数原型:•函数功能:•向 POSIX 消息队列写入消息•函数原型:•函数功能:•函数参数:•从 POSIX 消息队列读取消息•函数功能:•函数参数:•函数返回值...原创 2020-01-27 10:29:57 · 513 阅读 · 0 评论 -
linuxC多进程通信_systemV消息队列---ftok
文章目录头文件函数原型参数含义返回值系统建立IPC通讯 (消息队列、信号量和共享内存) 时必须指定一个ID值。通常情况下,该id值通过ftok函数得到。头文件#include <sys/types.h>#include <sys/ipc.h>函数原型key_t ftok( const char * fname, int id )参数含义fname:指定的...原创 2020-01-27 10:24:21 · 348 阅读 · 0 评论 -
linuxC多进程通信_systemV消息队列---msgget
文章目录功能头文件函数原型参数含义返回说明功能用于创建一个新的或打开一个已经存在的消息队列,此消息队列与key相对应头文件#include <sys/ipc.h>#include <sys/msg.h>函数原型int msgget(key_t key, int msgflg);参数含义key:消息队列关联的键。msgflg:消息队列的建立标志和存取权...原创 2020-01-27 10:24:15 · 398 阅读 · 0 评论 -
linuxC多进程通信_systemV消息队列---msgsnd/msgrcv
文章目录功能头文件函数原型参数含义返回值功能msgrcv()可以从消息队列中读取消息,msgsnd()将一个新的消息写入队列。头文件#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>函数原型int msgsnd(int msqid, const void *msgp, s...原创 2020-01-27 10:23:54 · 536 阅读 · 0 评论 -
linuxC多进程通信_systemV消息队列---msgctl
文章目录功能头文件函数原型参数含义返回值功能通过msgctl()函数,我们可以直接控制消息队列的行为头文件#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>函数原型int msgctl(int msqid,int cmd,struct msqid_ds *buf)参数...原创 2020-01-27 10:24:10 · 344 阅读 · 0 评论 -
linuxC多进程通信_systemV消息队列---进程间通讯实例
文章目录给消息队列写入消息读取消息队列中的消息修改消息队列中的消息属性给消息队列写入消息#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <sys/types.h&g...原创 2020-01-27 10:24:04 · 471 阅读 · 0 评论