自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ding 的博客

真正的大师永远怀着一颗学徒的心 Code never lie!

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux上的 fork 和 vfork 的区别

Linux 编程的 fork 和 vfork 的区别fork函数:一个进程可以调用fork函数创建一个新进程#include<unistd.h>pid_t fork(); //返回值:子进程返回0,父进程返回子进程ID,若出错返回-1需要注意的是fork函数调用一次返回两次,子进程的返回值是0,父进程的返回值是子进程的PID,因此通常利用这个区别去设置判断语句令父子进程执行不同的操作。现在的操作系统基本都采用了COW机制,因此不再是完全的拷贝父进程的所有内容了。将会对父进程区域进

2020-07-08 15:11:52 1294

原创 Linux内存闲谈

Linux内存闲谈内存映射Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的,所以进程可以方便地访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个 CPU 指令可以处理数据的最大长度)的处理器,地址空间的范围也不同。进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存。进程在用户态时,只能访问用户空间内存;只有进入内核态后,才可以访问内核空间内存。虚拟内存的大小可能远大于物理内存大小,因此,并不是每个虚拟内

2020-07-31 11:15:57 152

原创 Linux下检测程序内存泄漏

Linux下检测程序内存泄漏工具:valgrindLinux下载方式:yum install valgrind内存泄漏:程序在heap上分配了内存却没有释放写一个c语言内存泄漏程序:#include <stdlib.h>void f(){ int *t=malloc(sizeof(int)*10);}int main(){ int *array = malloc(10*sizeof(int)); f(); return 0;} 很简单的一个程

2020-07-24 15:42:11 690

原创 Linux性能优化 CPU性能调优

Linux性能优化 CPU性能调优(一)系统的平均负载可以通过uptime命令查看系统的平均负载: (top命令可以也可以,不过显示信息更多) $ uptime 10:35:08 up 23 days, 19:29, 3 users, load average: 0.11, 0.07, 0.06执行uptime命令,可以看到 当前时间、系统运行时间以及正在登录用户数。后面是过去 1 分钟、5 分钟、15 分钟的平均负载。通过man uptime看一下到底什么是平均负载:System

2020-07-23 15:27:01 1388

原创 TCP协议选项详解

TCP协议选项详解TCP头部的选项部分是为了TCP适应复杂的网络环境和更好地为应用层服务而进行设计的。SO_REUSEADDR通常一个端口释放后会等待两分钟(TIME_WAIT时间)之后才能再被使用,SO_REUSEADDR是让端口释放后立即就可以被再次使用。SO_REUSEADDR用于对TCP套接字处于TIME_WAIT状态下的socket,才可以重复绑定使用。server程序总是应该在调用bind()之前设置SO_REUSEADDR套接字选项。在TCP连接中,主动关闭方会进入TIME_WAIT状

2020-07-20 16:29:35 1279

转载 一文搞定 Linux性能调优之 IO

I/O相关术语索引节点简称为 inode,用来记录文件的元数据,比如 inode 编号、文件大小、访问权限、修改日期、数据的位置等。索引节点和文件一一对应,它跟文件内容一样,都会被持久化存储到磁盘中。所以记住,索引节点同样占用磁盘空间。目录项简称为 dentry,用来记录文件的名字、索引节点指针以及与其他目录项的关联关系。多个关联的目录项,就构成了文件系统的目录结构。不过,不同于索引节点,目录项是由内核维护的一个内存数据结构,所以通常也被叫做目录项缓存。索引节点是每个文件的唯一标志,而目录项维护

2020-07-17 11:47:19 1736 1

原创 深入剖析Linux的proc文件系统内容

深入剖析Linux的proc文件系统内容Linux系统上的/proc目录是一种文件系统,即proc文件系统。需要知道/proc是一种虚拟文件系统,存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,也可以通过更改其中某些文件来改变内核的运行状态。proc文件内容都存在于内存中,包括正在运行的进程信息以及系统配置等。查看proc目录的内容:其中的数字是指的是进程信息,是以pid为名字的目录,目录里包含了进程的各种信息。查看proc中一个进程的目录:

2020-07-15 12:09:30 349

原创 Linux内存CPU性能监视分析

Linux内存CPU性能监视分析top命令top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,可以看作一个任务管理器。前五行是总信息:行数信息1系统时间、已运行时间、当前用户数量、系统负载2总进程信息。包括总进程数量、以及各个状态的进程数量3总CPU信息。包括用户进程占用cpu比例、系统进程占用cpu比例、cpu空闲时间占比等信息4总内存信息。包括总内存、空闲内存、已用内存、缓存5总交换区信息。包括总交换区、空

2020-07-14 15:01:36 852

原创 快速上手tcpdump进行网络抓包分析

快速上手tcpdump进行网络抓包分析简介tcpdump是Linux中强大的网络数据采集分析工具之一。mannal手册的简介:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句进行筛选过滤。基本使用不指定任何参数,将抓取所有的包tcpdump监听特定的网卡:tcpdump -i eth0监听特定的主机:tcpdump host hostnam

2020-07-13 15:25:04 2093

原创 在Linux服务器和本地互传文件

在Linux服务器和本地互传文件用Xshell连接Linux服务器的情况:下载 rz 和 sz 工具命令:yum install lrzsz安装完成后,就可以通过rz和sz命令进行文件的互传了。rz 从本地上传至linux服务器:用sz filename将文件下载至本地:其他工具的话可以使用scp命令或者发mail的方式或者ftp方式。...

2020-07-13 11:38:25 989

原创 Linux常用性能分析工具--sar

Linux常用性能分析工具–sarsar是一个优秀的一般性能监视工具,它可以输出Linux所完成的几乎所有工作的数据。sar命令在sysetat rpm中提供。 sar可以显示CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断、网络等性能数据安装sar在Linux上,用yum安装,命令为:yum install sysstat安装完成后可以输入 sar -help查看是否安装成功。用sar进行性能分析sar的常用参数以及其含义:参数含义-A所有报告的总

2020-07-10 17:28:08 838

原创 ping和traceroute的原理以及实战并抓包分析

ping和traceroute的原理以及实战并抓包分析Ping程序ping程序是测试另一个主机是否可达的常用程序。 ping程序的原理就是发送一个ICMP报文给主机,等待返回的ICMP回显应答。【ICMP协议:用来在网络中传递包括网络不同、不可达等控制信息】基于ICMP的ping常用来检测网络是否可通以及大致估计网络的速度。通常用ping检测网路时,首先直接ping目标主机,如果不能ping通则大多数情况下说明网络是有问题的。通常检测网络可以按照这个顺序:先ping自己,再ping自己的网关,再pi

2020-07-10 11:13:47 3004

原创 用wireshark抓包来详细分析TCP三次握手和四次挥手过程

从wireshark抓包来分析TCP三次握手和四次挥手建议首先了解三次握手和四次挥手的过程再分析网络包信息:计算机网络传输层—TCP连接的建立和终止(详解三次握手四次挥手)首先开启wireshark监听网口,然后访问了google,输入简单的过滤规则进行过滤,抓包如下:通过筛选主机的IP和TCP协议得到了初步筛选结果,可以看到简要信息中,标记处有SYN报文,SYN报文是三次握手的标志性报文,因此标记的三个报文就是三次握手报文,对此进行详细分析。第一次握手报文分析:也就是说,第一个包中SYN位

2020-07-09 11:48:46 8857 2

原创 TCP提供的服务和首部详解

TCP提供的服务和首部详解TCP是一个面向连接的、可靠的字节流传输协议。面向连接:两个TCP应用在传输数据前必须建立连接。就像打电话一样。也就是在一个连接中传输的数据是有关系状态的,比如需要确定传输的对端正处在等待发送或接收的状态上可靠:主要是指数据在传输过程中不会被损坏或者丢失或乱序,保证数据可以正确到达。字节流:数据以字节流的形式传递给接收者的,没有固有的”报文”或”报文边界”的概念。即读取TCP数据就像从串行端口读取数据一样–无法预先得知在一次指定的读调用中会返回多少字节TCP实现可靠性

2020-07-08 17:15:25 3410 1

转载 Socket缓存究竟如何影响TCP的性能?

Socket缓存究竟如何影响TCP的性能?原文链接前言一直以来我们都知道socket的缓存会对tcp性能产生影响,也有无数文章告诉我们应该调大socke缓存。但是究竟调多大?什么时候调?有哪些手段调?具体影响究竟如何?这些问题似乎也没有人真正说明白。下面我们就构建起一个简单的实验环境,在两台虚拟机之间探究一下Socket缓存究竟如何影响TCP的性能?对分析过程不感兴趣的可以直接看最后的结论。影响Socket缓存的参数首先,我们要先来列出Linux中可以影响Socket缓存的调整参数。在proc目录

2020-07-07 16:33:14 1654

原创 硬链接和软链接(实践说明)

硬链接和软链接(实践说明)硬链接可以视为给一个文件增加了别名测试:创建一个文件old.file,创建一个硬连接 new.file可以看到两个文件是独立的,且信息一致。用stat查看两个文件的信息:可以看到两个文件信息完全相同,inode是一样的因此,硬连接可以视为一个别名,实际上对inode和data block是完全共享的,因此修改一个文件内容另一个内容也将改变,删除一个文件不影响其他文件。不能对目录建立硬连接,也不可以在不同的文件系统之间建立链接。软连接:创建一个软连接并查看内容

2020-07-01 20:29:18 521

Git入门指南(Git新人入门必看)

一文搞定Git入门,带你玩转Git。本pdf是详细的Git入门介绍,可以迅速带领新人入门Git,走向协同与开源的code之路。

2020-09-17

空空如也

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

TA关注的人

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