linux
Agoni_xiao
懒...
展开
-
linux下将一个目录下的所有文件拷贝到另一个大文件中,并把大文件拆分成原来的小文件,大小,内容,名字不变
经过四五天的编写与调试,初步完成了文件操作工具的内容,以下是代码说明:首先,我测试用的文件在/home/xudong/mywork下,我的最终生成文件是在这个路径下,/home/xudong/work/resultfile.txt,分开后生成的小文件在/home/xudong/work/下。1,./test0726 +测试文件所在的目录执行结果打印该目录下所有文件的大小原创 2017-08-03 15:15:52 · 3945 阅读 · 1 评论 -
centos上配置dm-cache
dm-cache概念: dm-cache作为第一个进入kernel的ssd-cache,在3.9内核版本并入,目前是最稳定的。3.10版本的dm-cache采用了全新的smq淘汰策略。优化了内存消耗,并且提升了性能。与flashcache类似,dm-cache也是基于device-mapper框架。 在kernel 2.6.x中dm...原创 2018-10-18 20:10:57 · 3186 阅读 · 1 评论 -
centos上配置flashcache
在写这篇博客之前,我想淡淡的发表下自己的观点:在写技术博客的时候用点心,积点德,自己搞清楚了在往上写,比如下面这一位,可把我坑惨了https://www.cnblogs.com/wuchanming/p/4043480.html我都跟着一步步的往下做了,后面 他突然来了一句,他也没搭出来环境,我....呵呵just a joke~开始正题,最近在测bcache,dm-cache以及flashc...原创 2018-10-18 16:49:59 · 1577 阅读 · 0 评论 -
mount时报错 host is down
需求:将Windows文件挂载到虚拟机前提:虚拟机和Windows是互相可ping通的设备IP为:192.168.12.209虚拟机IP为: 192.168.253.1401、ping通2、挂载使用mount -t cifs //192.168.12.209/code /home/lxd -o username=administrator,password=1234...原创 2018-09-21 17:40:12 · 20225 阅读 · 2 评论 -
ubuntu配置静态IP
在搭建ceph环境的时候,在ubuntu下配置每个虚拟机的静态IP。1、获得网卡名字ip route show其中ens33是网卡名字2、修改配置IPvi /etc/network/interface将动态dhcp获取IP改为静态static,IP,网关,子网掩码都设置为自己的3、设置dns解析分为两种:第一种 本次设置 关机重启后回复默认 vi /et...原创 2018-09-20 21:19:56 · 393 阅读 · 0 评论 -
linux内核经典面试题
LINUX内核面试题摘选经典问题:1) Linux中主要有哪几种内核锁?2) Linux中的用户模式和内核模式是什么含意?3) 怎样申请大块内核内存?4) 用户进程间通信主要哪几种方式?5) 通过伙伴系统申请内核内存的函数有哪些?6) 通过slab分配器申请内核内存的函数有?7) Linux...转载 2018-09-06 14:02:53 · 721 阅读 · 0 评论 -
shmget 共享内存 同步读写文件一个进程写,多个进程读,读和写同步,边写边读
首先,看看老大给我的任务:实现一个模块间的内存管理库, 实现以下功能1、该内存库通讯的数据量不确定, 最大5Mbit/s 2、该内存库用于模块间的数据交互3、该内存库只允许一个模块写入, 但可多个模块读取, 但需要各个读取模块没有任何相互干扰, 比如一个模块可能读取的速度较慢, 一个读取的速度较快4、该内存库需要具有一定的数据缓冲, 实际的应用上, 用于视频帧数据的交互,原创 2017-08-29 18:50:10 · 8983 阅读 · 0 评论 -
linux kernel源码剖析 共享内存部分 IPC 虚拟内存映射 VMA shmget shmat shmdt shmctl
实现进程间通信的方法很多,比如: 管道(同一台机器上两个进程双向通信)套接字(不同机器上的两个进程间的通信)System IPC机制(同一机器上,许多进程相互通信)IPC有以下三个机制:1消息队列:用于信息传递频繁且内容较少的进程间通信2 信号量:用于实现进程间同步通信3 共享内存:用于信息内容比较多的进程间通信 内核中实现IPC子系统的源码组织结构:原创 2017-09-05 14:03:21 · 1762 阅读 · 0 评论 -
使用共享内存实现一个进程写文件,两个进程读文件
主要功能:读取任意的文件,大小不限(不超过共享内存设置的大小,一般为8k,但可手动重新设置,这已经很大了。),执行后两个或多个读进程可同时读取该文件并在终端打印。要实现该功能,首先你得了解共享内存的搭建,有四个函数,分别为shmget,shmat,shmdt,shmctl,他们的作用如下:1、shmget函数该函数用来创建共享内存,它的原型为:[cpp] vie原创 2017-08-14 20:04:01 · 10384 阅读 · 0 评论 -
I/O复用
SELECT 系统调用:nfds是制定被监听的文件描述符的总数,通常被设置为最大文件描述符值+1(因为文件描述符从0开始);readfds,writefds,execeptfds分别指向可读,可写,异常事件对应的文件描述符;fd_set结构体:fd_set结构体只有一个整形数组,该数组的每个元素的每个位存放一个文件描述符;FD_SETSIZE是fd_set能容纳原创 2017-08-04 10:49:34 · 318 阅读 · 0 评论 -
打开文件的最大个数
1一级目录中打开最大子目录个数:Mkdir创建一个文件时,只能创建31998个子文件,可以用/usr/include/linux/etc2_fs.h查看。为什么宏定义是32000个,而实际可用的只有31998个?因为mkdir在创建目录时,目录下会默认创建两个子目录,一个是 . 目录(代表当前目录),一个是 .. 目录(代表上层目录),这两个目录是删除不了的。所以3200原创 2017-08-04 09:53:04 · 470 阅读 · 0 评论 -
系统信号介绍
系统信号可以通过kill –l命令来查看:1,信号的种类可分为两类(1)常规信号:编码范围1-31,如果一个常规信号被连续发送多次,会被合并成一次,即只有一个发送到接收进程(2)实时信号:编码范围32-64,它们必须被排队,以便发送的多个信号都被接收到(3)常规信号和实时信号,都是用队列来接收的,只是常规信号的接收队列,每个队列中最多只能有一项(4)可以看出,每个信号对原创 2017-08-04 09:47:24 · 985 阅读 · 0 评论 -
centos上配置bcache并测试
在这篇https://blog.csdn.net/Agoni_xiao/article/details/82973202讲过如何编译内核生成bcache模块,现在安装bcache-tools搭建测试环境。一、安装bcache-tools1.安装依赖libblkid-develyum install libblkid-devel -y2.下载bcache-tools安装$ gi...原创 2018-10-24 16:44:18 · 3387 阅读 · 0 评论