背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性能也产生了巨大的提升,也为其他应用软件和系统提供了参考.这篇文章介绍一下Linux中swap与memory. 对于memory没什么可说的就是机器的物理内存,读写速度低于cpu一个量级,但是高于磁盘不止一个量级.所以,程序和数据如果在内存的话,会有非常快的读写速度.但是,内存的造价是要高于磁盘的,虽…
swap区域是干嘛的 cpu 内存(不常用到的进程swap区) 磁盘 当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去.但是踢到哪里去,这时候swap就出现了. 背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性能也产生了巨大的提升,也为其他应用软件和系统提供了参考.这篇文章介绍一下Linux中swap与memory. 对于memory没…
1.背景介绍   这篇文章介绍一下Linux中swap与memory.对于memory没什么可说的就是机器的物理内存,读写速度低于cpu一个量级,但是高于磁盘不止一个量级.所以,程序和数据如果在内存的话,会有非常快的读写速度.但是,内存的造价是要高于磁盘的,虽然相对来说价格一直在降低.除此之外,内存的断电丢失数据也是一个原因说不能把所有数据和程序都保存在内存中.既然不能全部使用内存,那数据还有程序肯定不可能一直霸占在内存中.当内存没有可用的,就必须要把内存中不经常运行的程序给踢出去.但是踢到哪里…
https://blog.csdn.net/zwan0518/article/details/12059213 一.背景介绍 对于Linux来说,其在服务器市场的使用已经占据了绝对的霸主地位,不可动摇.Linux的各种设计思想和使用也被传承(当然不乏各种黑Linux,而且黑的漂亮).Linux的很多独特的设计,对性能也产生了巨大的提升,也为其他应用软件和系统提供了参考.这篇文章介绍一下Linux中swap与memory. 对于memory没什么可说的就是机器的物理内存,读写速度低于cpu一个量级…
大家都知道localhost指的是本机的IP地址:127.0.0.1 用于回路测试,那能不能修改localhost呢,答案肯定是可以的 打开终端--->输入: vim /etc/host  然后接下来就可以修改成自己需要设置的IP地址了,虽然并没有什么实用性! 如果你和我有共同爱好,我们可以加个好友一起交流!…
背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级.所以,程序和数据如果在内存的话,会有非常快的读写速度.但是,内存的造价是要高于磁盘的,且内存的断电丢失数据也是不能把所有数据和程序都保存在内存中的原因. 既然不能全部使用内存,那数据还有程序不可能一直霸占在内存中.当内存没有可用的,就必须要把内存中不经常运行的程序踢出去.但是踢到哪里去,这时候swap就出现了. Swap全称为swap place,即交换分区.当内存不够的时候,被踢出的进程被暂时存储到交换…
Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,vi是效率很高的文本编辑器.而Vim(vi iMprove)是Vi的加强版,在Linux/Unix操作系统中这个编辑器可谓是强大到不可想象,理解到这里就可以了,再要了解更详细自行百度. 2.VIM编辑器的安装与卸载 2.1安装Vim sudo apt-get install vim  提示:[y…
内容主要来源于:linux的内存回收和交换 各项命令查看的linux环境是:Linux SUSE-33 2.6.32.12-0.7-defaul zone? 内存管理的相关逻辑都是以zone为单位的,这里zone的含义是指内存的分区管理.Linux将内存分成多个区,主要有直接访问区(DMA).一般区(Normal)和高端内存区(HighMemory).内核对内存不同区域的访问因为硬件结构因素会有寻址和效率上的差别.如果在NUMA架构上,不同CPU所管理的内存也是不同的zone. /proc/zo…
背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级.所以,程序和数据如果在内存的话,会有非常快的读写速度.但是,内存的造价是要高于磁盘的,且内存的断电丢失数据也是不能把所有数据和程序都保存在内存中的原因. 既然不能全部使用内存,那数据还有程序不可能一直霸占在内存中.当内存没有可用的,就必须要把内存中不经常运行的程序踢出去.但是踢到哪里去,这时候swap就出现了. Swap全称为swap place,即交换分区.当内存不够的时候,被踢出的进程被暂时存储到交换…
IO连接的建立方式 1.缓存IO.流式IO: 2.映射IO.块式IO: 3.直接IO. IO的方式: 同步.异步.定时刷新: MMAP与内核空间 mmap使用共享用户空间与内核空间实现: 直接 I/O 的动机 在介绍直接 I/O 之前,这一小节先介绍一下为什么会出现直接 I/O 这种机制,即传统的 I/O 操作存在哪些缺点. 什么是缓存 I/O (Buffered I/O) 缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O.在 Linux 的缓存 I/O 机…
https://www.ibm.com/developerworks/cn/linux/l-cn-directio/ 对于传统的操作系统来说,普通的 I/O 操作一般会被内核缓存,这种 I/O 被称作缓存 I/O.本文所介绍的文件访问机制不经过操作系统内核的缓存,数据直接在磁盘和应用程序地址空间进行传输,所以该文件访问的机制称作为直接 I/O.Linux 中就提供了这样一种文件访问机制,对于那种将 I/O 缓存存放在用户地址空间的应用程序来说,直接 I/O 是一种非常高效的手段.本文将基于 2.…
Python yield 使用浅析(整理自:廖 雪峰, 软件工程师, HP 2012 年 11 月 22 日 ) 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会 Python 里 yield 简单而强大的功能. 您可能听说过,带有 yield 的函数在 Python 中被称之为…
转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将其中的[pid]替换成相应进程的PID号: cat /proc/[pid]/status 说明 /proc/[pid]/status中所保存的信息除了内存信息,还包括进程IDs.信号等信息,此处暂时只介绍内存相关的信息. 字段 说明 VmPeak 进程所使用的虚拟内存的峰值 VmSize 进程当前使…
简单介绍 equals方法是java.lang.Object类的方法 有两种用法说明: 一.对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同. 1.“==”比较两个变量本身的值,即两个对象在内存中的首地址. (java中,对象的首地址是它在内存中存放的起始地址,它后面的地址是用来存放它所包含的各个属性的地址,所以内存中会用多个内存块来存放对象的各个参数,而通过这个首地址就可以找到该对象,进而可以找到该对象的各个属性) 2.“equals()”比较字符串中所包…
通过前文Linux 下UVC&V4L2技术简单介绍(一)我们了解了UVC和V4L2的简单知识. 这里是USB设备的文档描写叙述:http://www.usb.org/developers/docs/devclass_docs/ 那么假设我们想执行一个UVC的camera设备须要做哪些工作呢? 我简单的查看了几个CM项目的kernel配置文件,发如今这些系统里面的V4L2的驱动配置选项都是打开的,可是CONFIG_USB_VIDEO_CONFIG选项是没有打开的,也就是说在如今CM支持的机型里面默…
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/scaleqiao/article/details/46761993 通过之前的三篇博文,我介绍了目前Linux中广泛使用的三个SCSI target的架构和使用方法.那如何在这三者之间做一个选择呢?这里给出我对它们之间优劣点的总结,欢迎高手指正错误. 1. STGT 在2.6.38之后,STGT默认只剩下用户态的实现,这对于iSCSI ta…
UE4引擎中可以实现简单AI的方式有很多,行为树是其中比较常用也很实用的AI控制方式,在官网的学习文档中也有最简单的目标跟踪AI操作教程,笔者在这里只作简单介绍. AIController->和playcontroller一样,但区别于玩家控制器,AIController负责管理的是AI,也称AI控制器. Blackboard->黑板,作用是用来标记关键值,为AI存储或者提取相关记忆. Behavior Tree->行为树,从黑板里读取关键值,做出决定和执行. Animation Blu…
简单介绍 SET类型 在创建表时,就指定SET类型的取值范围. 属性名 SET('值1','值2','值3'...,'值n') 其中,“属性名”参数指字段的名称:“值n”参数表示列表中的第n个值,这些值末尾的空格将会被系统直接删除.其基本形式与ENUM类型一样.SET类型的值可以取列表中的一个元素或者多个元素的组合.取多个元素时,不同元素之间用逗号隔开.SET类型的值最多只能是有64个元素构成的组合,根据成员的不同,存储上也有所不同: 1-8成员的集合,占1个字节. 9-16成员的集合,占2个字…
简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象:  2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象:  3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象:  4. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用…
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/scaleqiao/article/details/46706953 最近在做一个和scsi target相关的项目,我借着这个机会调研了一下linux中现有的scsi target方案,并整理出一个系列文章和大家分享一下.其中有三篇介绍现在常用的scsi target包括tgt(stgt).LIO和SCST,还有一篇对它们做一个比较,给出优…
共享内存的基本概念 共享内存区是最快的IPC形式.一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据. 下图是共享内存示意图: 下图是用管道或者消息队列传递数据示意图: 内核为每个IPC对象维护一个数据结构 下图是用共享内存传递数据示意图: System V共享内存API: 首先了解一下下面结构体 struct shmid_ds {               struct ipc_perm shm_perm…
1.简介 Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作: 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索. 实时分析的分布式搜索引擎. 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据 像天猫.京东这样的商城,用户访问商城的首页,一般都会直接搜索来寻找自己想要…
一.使用物理分区构建swap 1.分区 [root@server3 ~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): n Partition type: p   prim…
(1).查看Memory(内存)运行状态相关工具 1)free命令查看内存使用情况 [root@youxi1 ~]# free -m //-m选项,以MB为单位显示 total used free shared buff/cache available Mem: 3934 163 3478 11 292 3513 Swap: 2047 0 2047 在CentOS7中新增了一列available,该列是真正可用内存,其包括了buff/cache中的一些可以被释放的内存.当物理内存不够用时,内核会…
这篇博客中所写的脚本,在实际工作中并没有什么卵用,工作中并不会用到这种脚本去监控.不过自己写一遍,可以让初学者对CPU.内存.磁盘等一些基础知识和基础命令更加了解. 1.利用vmstat工具监控CPU详细信息,然后基于/proc/stat计算CPU利用率进行监控,超过80报警并提取出占用cpu最高的前十进程. vmstat是Linux系统监控工具,使用vmstat命令可以得到关于进程.内存.内存分页.堵塞IO.traps及CPU活动的信息. r:运行队列中的进程数:b:等待IO的进程数. swp…
Sketch介绍 为什么要用Sketch 网络流主要根据五元组.主机地址.包的大小来分类.在网络中存在各种各样的包,如果按照上述分类方法,对每一种包都分配一个计数器来储存,虽然测量准确,那么存放计数器的空间开销会非常大.所以使用哈希的方法,根据哈希值的范围来确定的所需的存储空间,各种包根据哈希值再次归类,可以大大减少存储空间.这样使用哈希来估计流的方法称为Sketch-based方法. Count-min sketch 如何处理包 使用哈希的方法会产生冲突,多个种类的包哈希到同一个桶内,那么这个…
网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡.在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查. bond模式: Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合. Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发…
在应急响应中,我们往往会有dump出某一块内存下来进行分析的必要.今天要讲的是利用gdb命令dump出sshd进程的内存. 按照 Linux 系统的设计哲学,内核只提供dump内存的机制,用户想要dump什么样的内存,dump多少内存是属于策略问题,由用户来决定. 在真实的使用场景中,主要有两种使用方式: 一种是dump某一个进程的地址空间来供用户在进程挂掉之后debug分析,也就是通常所说的coredump 另一种就是dump整个系统的内存空间,以便于系统管理员debug分析系统挂掉的原因,也…
1.swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机. 2.使用swap交换分区,会使服务器的性能降低很多,导致访问速度变慢. 3.交换分区.我们如果没有足够的内存,也许就不能运行某些大型的软件,解决的办法是在硬盘上划出一个区域来当作临时的内存,好像内存变大了.Windows操作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap.…
先贴一个样例,然后解释一下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := mydjvuapi SRC_FILE_OF_MINE :=\ classify.cpp \ INCLUDES_FILE_OF_MINE:= \ 8 $(LOCAL_PATH)/../myjpeginterface\ 9 $(LOCAL_PATH)/../mytiffinterface10 STATIC_LIBRARIES_OF_MINE…