自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (2)
  • 收藏
  • 关注

转载 一文理清Linux 用户与用户组关系

1、用户和用户组文件 在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。在 linux 系统中,所创建的用户帐号和其相关信息 (密码除外) 均是存放在 / etc/passwd 配置文件中。由于所有用户对 passwd 文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了 / etc/shadow 的配置文件中。在 pass...

2019-02-01 15:40:55 520

转载 Linux下动态库和静态库的制作及使用

在实际的开发过程中,编写程序往往都需要依赖很多基础的底层库,比方说平时用的较多的标准C库,数学库等等;我们会频繁的使用这些库里的函数,这些函数大多数都是前人为我们写好的,所以值得庆幸的是我们的工作不必从零开始,我们要做的只是在恰当的位置调用合适的库函数去实现相应的功能,充分利用前人的劳动成果,就是“站在巨人的肩膀上”。本文主要简述Linux下库的制作以及使用方法。一、什么是库库从本质上来说...

2019-01-15 17:12:42 1038

转载 bcache配置使用

 一、前言简单介绍下bcache,bcache是linux内核块设备层的cache。主要是使用SSD盘在IO速度较慢的HDD盘上面做一层缓存,从而来提高HDD盘的IO速率。一个缓存设备(SSD)可以同时为多个后端设备(HDD)提供缓存。既然是缓存,那自然就会想到缓存策略,bcache支持三种缓存策略:writeback:回写策略,所有的数据将先写入缓存盘,然后等待系统将数据回写入后端数...

2018-12-05 15:57:49 3690

转载 链路层的网卡聚合-基于Linux bonding

原贴:https://www.linuxidc.com/Linux/2011-05/35326.htm  Linux总是可以用一种最简单的方式实现一个很复杂的功能,特别是网络方面的 ,哪怕这个功能被认为只是在高端设备上才有,linux也可以很容易的实现,以前的文章已经说了不少次了,比如vlan功能,比如高级路由和防火墙功能等等,本文着重说一下linux的bonding,也就是端口聚合的功能...

2018-11-16 15:31:45 552

转载 linux 内核工作队列

Workqueue 是内核里面很重要的一个机制,特别是内核驱动,一般的小型任务 (work) 都不会自己起一个线程来处理,而是扔到 Workqueue 中处理。Workqueue 的主要工作就是用进程上下文来处理内核中大量的小任务。所以 Workqueue 的主要设计思想:一个是并行,多个 work 不要相互阻塞;另外一个是节省资源,多个 work 尽量共享资源 ( 进程、调度、内存 ),不要

2018-06-28 14:41:12 595

转载 硬盘 SMART 检测参数详解[转]

一、SMART概述     硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable)。后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等。但像电机轴承磨损、盘片磁介质性能下降等都属于可预测的情况,可以在在几天甚至几星期前就发现这种不正常的现象。如果发生这种问题,SMART功能会在开机时响起警报,至少让使用者有足够的时间把重要资料转移到其它储...

2018-06-28 14:30:06 9688

转载 linux abrt的用法

在linux调试程序,最痛苦的就是程序异常宕掉,但是找不到core文件,很难定位问题。但是有了core文件就容易定位多了。一般是可以通过在环境变量中设置ulimit -c unlimited。但是现场实施人员有时会忘记设置这条命令。那么怎么办呢,可以通过设置linux的abrt服务来实现。修改abrt-action-save-package-data.conf文件将其修改为:vi /etc/abr...

2018-06-04 15:28:36 12536

转载 Linux的hdparm工具参数详解:硬盘检查、测速、设定、优化

PS:在Linux下可以使用hdparm工具查看硬盘的相关信息或对硬盘进行测速、优化、修改硬盘相关参数设定。我主要常用这个工具来测试硬盘速度。hdparm(hard disk parameters)功能说明:显示与设定硬盘的参数。语法:hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c ][-d <0或1>][-k &...

2018-05-29 16:58:20 13388 1

转载 KVM模块单独编译(适合调试)

当前系统环境:CentOS Linux release 7.2.1511 (Core)在说kvm模块单独编译之前,难免设计到linux内核模板的编写,所以这里也稍微提一下。1linux内核模块环境搭建这里有2种方法:1.1 升级内核:升级当前系统的kernel,具体编译步骤这里不再详细说明,简单表述一下:如果想在当前的linux系统上面,不用修改配置文件来编译内核,就将/boot/config-*...

2018-05-02 19:21:32 1273

转载 Linux Core Dump

当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其他处理器和操作系统状态和信息。core dump 对于编程...

2018-05-02 18:43:06 479

转载 iSCSI存储系统基础知识(三)

协议映射:iSCSI协议是让SCSI协议在TCP协议之上工作的传输协议,是一种SCSI远程过程调用模型到TCP协议的映射。SCSI命令加载在iSCSI请求之上,同时SCSI状态和响应也由iSCSI来承载。iSCSI同样使用请求响应机制。在iSCSI 配置中,iSCSI 主机或服务器将请求发送到节点。 主机包含一个或多个连接到IP 网络的启动器,以发出请求,并接收来自iSCSI 目标的响应。 为每个...

2018-05-02 18:34:08 1115

转载 iSCSI存储系统基础知识(二)

iSCSI SAN概念解析:iSCSI SAN组件与FC SAN组件相类似。包括以下部件: iSCSI Client/Host: 系统中的iSCSI客户端或主机(也称为iSCSI initiator),诸如服务器,连接在IP网络并对iSCSI target发起请求以及接收响应。每一个iSCSI主机通过唯一的IQN来识别,类似于光纤通道的WWN。 要在IP网络上传递SCSI块命令,必须在iSCSI主...

2018-05-02 18:31:01 764

转载 iSCSI存储系统基础知识(一)

该文章及随后两篇文章均转自微信公众号:数普存储产品及解决方案介绍iSCSI是由Cisco和 IBM两家发起的,2003年2月由IETF(互联网工程任务组)认证通过,是一项比较成熟的技术。它将SCSI命令封装在TCP/IP包里,并使用一个iSCSI帧头。它基于IP协议栈,假设以不可靠的网络为基础,依靠TCP恢复丢失的数据包。本些列作为iSCSI系统的基础读物,覆盖以下内容:1. 什么是iSCSI?2...

2018-05-02 18:29:32 852

转载 分析 mcelog 引发 x86 RAC 失效原因

大多数运维工程师都知道内存故障的频率不如硬盘故障的频率高,但是内存发生错误却是很常见的,其中的奥秘就在于ECC内存。ECC内存指的是带有ECC功能的内存,即Error Checking and Correcting,它实际上是一种错误检查和纠正的技术,它能够容许错误,并可以将错误更正,使系统得以持续地正常工作,不致因错误而中断。ECC内存正是带有这种技术的内存。那么是不是只要使用了带有ECC功能的...

2018-05-02 14:54:09 501

转载 nmon 性能监控工具 for Linux&AIX

转载于微信公众号: talkwithtrend一、简介nmon是一个简单的性能监测工具,可以监测CPU、内存、网络等的使用情况。它是一个系统监视、调优、性能测试工具,它能一次性提供大量性能相关的信息。二、安装与执行项目地址:http://nmon.sourceforge.net/pmwiki.php?n=Main.HomePage下载地址:http://nmon.sourceforge.net/p...

2018-05-02 13:50:02 533

转载 Linux性能分析工具与图形化方法

在项目开发中,经常会遇到程序启动时间过长、CPU使用率过高等问题,这个时候需要依靠性能分析工具来定位性能的消耗点。本文介绍三个常用的工具的入门级使用及图形化方法,供大家参考。本文介绍Perf、gprof和Valgrind三个性能分析工具,及其分析结果图形化的方法,旨在让大家更快的上手使用工具。出于篇幅的限制,本文不会对每种工具的使用参数及结果分析做详细的介绍,只做入门级的使用说明,更多详细的说明大...

2018-05-02 10:10:41 494

原创 增量升级centos系统rpm包的方法

    如centos7.2系统默认的rsyslog版本为rsyslog-7.4.7-12.el7.x86_64, 但是该版本存在一个bug,如下:imjournal: fscanf on state file `/var/lib/rsyslog/imjournal.state' failed当/var/lib/rsyslog/imjournal.state为空时,rsyslog将不再输出日志,即...

2018-05-01 17:42:04 4401

转载 理解mcelog如何工作

前言本文,带你了解几个问题?本文重点,主要看案例2,带你很好的理解mcelog如何工作的?mcelog的干什么的?mcelog 是 x86 的 Linux 系统上用来 检查硬件错误,特别是内存和CPU错误的工具.mcelog怎么运行的?这三种方式有什么优点?缺点?有三种运行的方式,cron,daemon,triggercron是最low的方式,会丢失,trigger是比较高级的方式,触发的。一般我...

2018-04-23 17:31:24 3522

原创 一种修复ext4系统盘分区的方法

现象:    1. 系统启动时卡住。    2. 断电重启后,会出现如下界面:        welcome to emergency mode!            3. 系统/var/log/messages中显示如下:Apr 9 11:36:21 inspur01 systemd-fsck: /dev/sda2: recovering journalApr ...

2018-04-10 19:59:58 9225

原创 kvm安装启动系统

    本文是转载并进行了部分修改。一. 前言kvm支持的镜像很多,常用的是原始镜像(*.img),还有支持动态大小扩张的qocw2格式(首选)。 更优的选择是系统盘如C盘用img格式,数据盘用qcow2格式以减少服务器磁盘闲置空间。 本文仅记录如何用centos.iso制作系统镜像centos.qcow2并创建启动虚拟机二. 本文分析内容安排·        制作虚拟机镜像·        使用...

2018-04-06 19:42:36 1502

原创 centos7.2单机部署ceph集群

 前提条件代码编译完成,并make install完成集群搭建1.   创建mon         ceph-deploy new host012.初始化监控服务    ceph-deploy --overwrite-conf mon create-initial3.创建osd    正常情况下一个osd对应一个硬盘,硬盘的个数决定了部署osd的个数。但是在个别...

2018-04-06 19:36:37 1519

转载 高端内存

一、为什么我们需要高端内存我们知道在x86_32架构下,linux中的进程的虚拟地址空间大小是4GB,其中的用户空间占用其中的低3GB,而内核空间占用其中的高1GB。而实际上内核的物理空间是从地址0开始的。所以内核空间的物理地址和虚拟地址可以根据右式转换 PA = VA -0xC000 0000。根据这种计算方式,我们可以得到以下的表格:虚拟地址             物理地址0xC000 00...

2018-03-27 16:38:29 340

转载 zone_reclaim_mode详解

zone_reclaim_mode模式是在2.6版本后期开始加入内核的一种模式,可以用来管理当一个内存区域(zone)内部的内存耗尽时,是从其内部进行内存回收还是可以从其他zone进行回收的选项,我们可以通过/proc/sys/vm/zone_reclaim_mode文件对这个参数进行调整。在申请内存时(内核的get_page_from_freelist()方法中),内核在当前zone内没有足够内...

2018-03-22 20:03:31 10657

转载 /proc/meminfo详解

本文转载自http://linuxperf.com/?p=142/proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的 ,/proc/meminfo所包含的信息比”free”等命令要丰富得多,然而真正理解它并不容易,比如我们知道”Cached”统计的是文件缓存页,manpage上说是”In-memory  cach...

2018-03-21 20:27:22 3073

转载 Ceph常用表格汇总

OSD的FlagsFlagDescriptionUse CasesnoinPrevents OSDs from being treated as in the cluster.Commonly used with noout to address flapping OSDs. 通常和noout一起用防止OSD up/down跳来跳去nooutPrevents OSDs from being tre...

2018-03-19 17:46:18 676

转载 linux下磁盘检查修复命令e2fsck

linux下磁盘检查修复命令e2fsck-a: 检查 partition,如发现问题会自动修复。-b: 设定 superblock 位置。-B size: 指定 size 作为区块大小。-c: 检查 partition 是否有坏轨。-C file: 将检查结果储存到 file。-d: 输出 e2fsck debug 结果。-f: e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。...

2018-03-18 21:25:48 13103

原创 内核内存检测工具memleak的使用方式

 Kmemleak 提供了一种可选的内核泄漏检测,其方法类似于跟踪内存收集器使用Kmemleak需要在内核中将CONFIG_DEBUG_KMEMLEAK使能(默认未使能,因此使用该功能会涉及替换内核)。 1.  将内核默认.config文件拷贝到源码目录下。cd linux-3.10.0-327.el7cp /boot/config-3.10.0-327.el7.x86_64 .config .2...

2018-03-18 19:19:30 7871

原创 禁止远端WWW服务支持TRACE请求

TRACE_Method是HTTP(超文本传输)协议定义的一种协议调试方法,该方法会使服务器原样返回任意客户端请求的任何内容。TRACE和TRACK是用来调试web服务器连接的HTTP方式。支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。 解决办法:管理员应禁用WWW服...

2018-03-18 18:53:33 18690 1

原创 通过内核模块设置服务器看门狗的方法

1.   安装用户态程序安装watchdog的用户态的rpm包。如centos7系统的rpm包如下:watchdog-5.13-11.el7.src.rpm链接:点击打开链接 2.   修改service文件打开/usr/lib/systemd/system/watchdog.service添加ExecStartPre=/usr/sbin/...

2018-03-18 18:36:26 6380 2

原创 smartctl与sas3ircu结合进行磁盘定位的方法

1. 首先通过smartctl查询磁盘的serial number;    比如要查询sdg的磁盘序列号smartctl -a /dev/sdg |grep Seri -A7 -B32. 通过sas3ircu命令,根据序列号查找该磁盘的对应的槽位。sas3ircu 0 display |grep ZAD0A3WS -A2 -B7红色的0:表示第几块sas卡,一般需要...

2018-03-17 16:17:29 5044 8

转载 Linux Watchdog Daemon - Configuring

Back to PSC's home pageBack to WatchdogThere are a number of tests and options that can be configured for the watchdog daemon, and this page is still "work in progress" to describe them. Typically the...

2018-02-28 11:44:01 1954

转载 深入探索 Kdump,第 3 部分

Kdump 原理探秘韩 平天, 李 骅宸, 和 王 生辉2012 年 10 月 11 日发布WeiboGoogle+用电子邮件发送本页面 0系列内容:此内容是该系列 3 部分中的第 3 部分: 深入探索 KdumpKdump 实现的基本原理

2018-02-06 15:07:34 590

转载 深入探索 Kdump

Kdump 的基本概念什么是 kexec ?Kexec 是实现 kdump 机制的关键,它包括 2 个组成部分:一是内核空间的系统调用 kexec_load,负责在生产内核(production kernel 或 first kernel)启动时将捕获内核(capture kernel 或 sencond kernel)加载到指定地址。二是用户空间的工具 kexec-tools,他

2018-02-06 14:33:01 256

原创 请求页框API简介

转自edsionte's TechBlog在用户态下程序中,我们可以通过malloc()动态申请内存空间。在内核空间中,专门有一个内核子系统处理对连续页框的内存分配请求,这个内核子系统即为管理区页框分配器(zoned page frame allocator)。该分配器包含六个专门用于分配页框的API,这些API都是基于伙伴算法而实现的,因此这些API申请的

2017-12-18 15:36:18 378

转载 Linux物理内存管理概述

文章转自:http://edsionte.com/techblog/archives/3937在内核态申请内存比在用户态申请内存要更为直接,它没有采用用户态那种延迟分配内存技术。内核认为一旦有内核函数申请内存,那么就必须立刻满足该申请内存的请求,并且这个请求一定是正确合理的。相反,对于用户态申请内存的请求,内核总是尽量延后分配物理内存,用户进程总是先获得一个虚拟内存区的使用权,最终通过缺页

2017-12-18 14:04:45 489

转载 基于vfs实现自己的文件系统

转载自微信公众号-linux内核之旅1.Linux 文件系统组成结构linux文件系统有两个重要的特点:一个是文件系统抽象出了一个通用文件表示层——虚拟文件系统或称做VFS。另外一个重要特点就是它的文件系统支持动态安装(或说挂载等),大多数文件系统都可以作为根文件系统的叶子节点被挂在到根文件目录树下的子目录上。1.1.虚拟文件系统虚拟文件系统为用户空间程序提供了文件系统接口。系统中...

2017-12-18 10:13:54 1278 5

转载 Linux文件读写机制及优化方式

本文只讨论Linux下文件的读写机制,不涉及不同读取方式如read,fread,cin等的对比,这些读取方式本质上都是调用系统api read,只是做了不同封装。以下所有测试均使用open, read, write这一套系统api缓存缓存是用来减少高速设备访问低速设备所需平均时间的组件,文件读写涉及到计算机内存和磁盘,内存操作速度远远大于磁盘,如果每次调用read,write都去直

2017-08-07 15:42:05 528

转载 addr2line命令

在Linux下写C/C++程序的程序员,时常与Core Dump相见。在内存越界访问,收到不能处理的信号,除零等错误出现时,我们精心或不精心写就的程序就直接一命呜呼了,Core Dump是linux仁慈地留下的程序的尸体,帮助程序员们解决了一个又一个问题。有时配置不给力,Linux直接毁尸灭迹,没有了Core文件;又有时,刚好磁盘空间不足,Core文件写不下了。没有Core文件的时候,如何知道

2017-07-15 19:56:42 485

转载 malloc_stats---检查内存泄露的神器

在之前的博客中提到过,valgrind可以用来检测内存泄露,但在使用中,往往会遇到一些问题,给调试工作带来很多不必要的麻烦,我自己遇到的有以下两种:      (1)内存泄露误检(系统初始化时,可能有一些需要长期保存在内存中的数据结构,这些空间是永远不释放的,而这些内存会被认为绝对泄露)      (2)valgrind检查内存泄露过于全面,运行后的结果太多往往很难从中找到有用的信息。有时

2017-07-15 19:35:31 632

转载 Linux内核中读写文件

Linux内核中读写文件数据的方法  有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read()vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/u

2017-05-17 15:48:48 387

华三 source insight配置文件

找了好久的杭州华三通信技术有限公司的source insight的配置文件。 0. 此为C/C++的SourceInsight配置文件,其他语言的为默认。(字体颜色在其他编程语言有效) 1. 主要就是给那些习惯于等宽字体编程的人们。采用微软Vista自带的等宽字体:Consolas 2. 对各个编写程序的软件(UltraEdit, SourceInsight, BeyondCompare, Notepad2)及各种IDE开发环境(Visual C++, Borland C++, Borland C++ Builder, Visual Studio .net)的所有颜色进行了最大的统一,给出了一种最合理的颜色,具体如下: 常数:红色 宏定义(包括枚举常量):橙色,便于与红色接近 字符串常量及字符常量:默认色,黄底粉字,便于与红色接近 关键字:蓝色,与UltraEdit, BeyondCompare, Notepad2, Visual C++, Borland C++接近或统一。 全局变量:紫色 函数:绿色 运算符:绿色 局部变量:青色 未知函数名、变量名:黑色,一眼可以看出是否为笔误而变成了未知的函数名。 3. 对默认的很多快捷键进行了重定义,重定义快捷键的初衷:某些功能操作,仅需要一只手完成或,右手还需要继续操作鼠标;而某些功能需要两只手操作,比如输入查找替换等功能,就需要两个手同时输入。 所以对一只手的功能操作重定义成左手的按键即可完成,对于需要两只手的快捷操作则由两只手完成

2016-05-28

cryptopp-5.6.2-2.el6.x86_64.rpm&& cryptopp-devel-5.6.2-2.el6.x86_64.rpm

ceph源码编译时出现下列现象时,需要下载这两个rpm包: checking for NSS... no configure: error: in `/root/workspace/ceph-0.87.1': configure: error: no suitable crypto library found See `config.log' for more details

2016-04-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除