1.进程与线程的定义与区别

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位[例如电脑上的不同程序]

线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更小的能够独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,一个线程可以创建和撤销另一个线程

区别:

一个线程只能属于一个进程,而一个进程可以拥有多个线程

线程是进程工作的最小但闻

一个进程会分配一个地址空间,进程与线程之间不共享地址空间,即不共享内存

同一个进程下的不同的多个线程,共享父进程的地址空间

线程在执行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步

线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

2.进程的优点与缺点

优点:

每个进程互相独立,不影响主程序的稳定性,子进程奔溃不影响其他进程

通过增加cpu,就可以扩充性能

可以尽量减少线程的加锁与解锁的影响,极大的提高了性能

缺点:

逻辑控制复杂,需要和主程序交互

多进程调度开销大

3.线程的优点与缺点

优点:

程序逻辑和控制方式简单

所有线程可以直接共享内存和变量等

线程方式消耗的总资源比进程方式少

缺点:

每个线程与主程序共用地址空间,最大内存地址受限

线程之间的同步和加锁不易控制

一个线程的崩溃可能影响到整个程序的稳定性

4.top说明

在单核cpu中load average的值为1时表示满负荷状态,同理在多核cpu中满负荷的load average的值为1*cpu核数

top中的load average:系统的运行队列的平均利用率,也可以认为是可运行进程的平均数,三个值分别表示在最后的1分钟,5分钟,15分钟的平均负载值

top命令的使用:

启动top之后:

按M根据驻留内存大小进行排序

按P根据cpu使用百分比大小进行排序

参数:

-d:设置top的显示间隔(以秒计)

-n:设置top退出前迭代的次数

-p:设置监控指定的PID

-b:设置批处理模式来启动top命令,当你想要在文件中保存输出时是很有用的

5.vmstat的使用

可以监控操作系统的进程状态,内存,虚拟内存,磁盘IO,cpu的信息。语法vmstat [-a][-n][-S unit][delay[count]]

6.netstat命令

用于显示与ip,tcp,udp和icmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况

参数说明:

-n:拒绝显示别名,能显示数字的全部转化成数字

-l:仅列出有在listen(监听)的服务状态

-p:显示建立相关链接的程序名

-t:显示tcp相关选项

-u:仅显示udp相关选项

-i:显示自动匹配接口的信息

-c:每隔一个固定的时间,执行该netstat命令

Linux服务器监控性能测试的更多相关文章

  1. [转载]你需要知道的 16 个 Linux 服务器监控命令

    转载自: 你需要知道的 16 个 Linux 服务器监控命令 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 ...

  2. 你应该知道的16个Linux服务器监控命令

    在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE Linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面环境里的KDE System Guard也 ...

  3. 转载:你需要知道的16个Linux服务器监控命令

    源址:http://web.itivy.com/article-653-1.html 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Lin ...

  4. 16个必须熟悉的linux服务器监控命令

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc. == 原文:16 Linux Server Monitoring Comman ...

  5. 非常有用的15个Linux 服务器监控命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 ...

  6. Linux 服务器 监控命令

    1 top top类似于windows下面的资源管理器.不仅能够从服务器整体上展示服务器的大致情况,还可以看到具体进程 耗费资源的情况. 展示内存.cpu.交换分区等信息 如上图: 第一行主要描述系统 ...

  7. 16个Linux服务器监控命令

    在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面环境里的KDE System Guard也 ...

  8. 16 个 Linux 服务器监控命令

    如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员. 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 ...

  9. linux服务器监控流量sh脚本

    服务器可能经常遇到服务器出带宽跑满,不知如何查询被哪个进程占用的情况,有一款开源的英文软件iftop功能比较强大可以查询相关信息,可能刚接触linux系统的朋友不太会使用,在此写了一个功能比较简单无需 ...

  10. Linux 服务器监控

    200 ? "200px" : this.width)!important;} --> 标签:iostat/free/top/dstat 概述 文字主要讲述使用linux自带 ...

随机推荐

  1. .Net 7 团队把国内的龙芯确实当做一等公民和弃用的项目

    楔子: 国内龙芯据说是用的自己的指令集,在研究ILC的时候,发现了龙芯在微软那边确实是一等公民的存在. 龙芯官网 龙芯平台.NET,是龙芯公司基于开源社区.NET独立研发适配的龙芯版本,我们会长期进行 ...

  2. VuePress个人博客搭建

    vuepress概述 VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档 ...

  3. 软件安装——tortoiseGit安装和配置

    Tortoisegit安装指南 TortoiseGit是一个开放的Git版本控制系统的源客户端,它是Git和Windows资源管理器的整合,提供了Git的图形化操作界面 一.软件安装 1.进入tort ...

  4. P8618 [蓝桥杯 2014 国 B] Log 大侠

    简要题意 给你一个长度为 \(n\) 的正整数序列 \(a\),有 \(m\) 个询问,每一个询问给出一个区间 \([l,r]\).定义函数 \(f(x)=\lfloor\log_{2}(x)+1\r ...

  5. python paramiko通过远程操作linux

    python-paramiko通过远程操作linux 1. python-paramiko通过远程操作linux python3 远程操作linux 使用第三方paramiko库,对于实现运维自动部署 ...

  6. QGraphicsView, QGraphicsObject ,QQGraphicsSvgItem 图片接收鼠标事件 拖拉 收放

    由于项目要求,需要加载svg格式图片和pixmap图片,并根据指定坐标在图上进行勾画,并且对相应位置接收鼠标事件. -继承QGraphicsObject,实现加载pixmap的项 myimageite ...

  7. 读Java8函数式编程笔记06_Lambda表达式编写并发程序

    1. 阻塞式I/O 1.1. 一种通用且易于理解的方式,因为和程序用户的交互通常符合这样一种顺序执行的方式 1.2. 将系统扩展至支持大量用户时,需要和服务器建立大量TCP连接,因此扩展性不是很好 2 ...

  8. eosio.cdt发布带来的变化

    change of version 1.3.x+,EOSIO.CDT After eos version 1.3.x, generation of cdt tools, Smart Contracts ...

  9. 【Oculus Interaction SDK】(一)设置 VR 相机与控制器 && 实现简单的抓取功能

    前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了.本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发.当然,不排除我文章刚写完 SDK 又变 ...

  10. Task记录1.CancellationToken 取消Task任务的操作

    //1.创建取消令牌数据 CancellationTokenSource tokenSource = new CancellationTokenSource(); //2.创建取消令牌 Cancell ...