精华内容
下载资源
问答
  • Linux系统查看CPU使用率、内存使用率、磁盘使用率

    万次阅读 多人点赞 2019-04-16 15:17:00
    一、查看CPU使用率 1. top 命令 top命令可以看到总体的系统运行状态和cpu的使用率 。 %us:表示用户空间程序的cpu使用率(没有通过nice调度) %sy:表示系统空间的cpu使用率,主要是内核程序。 %ni:表示用户空间...

    一、查看CPU使用率

    1. top 命令

    [root@sss ~]# top
    top - 16:54:38 up 7 days,  5:13,  3 users,  load average: 0.00, 0.01, 0.05
    Tasks:  77 total,   2 running,  75 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.7 us,  0.3 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  1882232 total,   813020 free,   330164 used,   739048 buff/cache
    KiB Swap:        0 total,        0 free,        0 used.  1386608 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                        
    17215 root       0 -20  127504  12176   9560 S  0.7  0.6  21:46.45 AliYunDun                                                                                                                                      
     2770 root      20   0  573932  17232   6088 S  0.3  0.9   1:11.38 tuned                                                                                                                                          
        1 root      20   0   43548   3844   2588 S  0.0  0.2   0:06.54 systemd                                                                                                                                        
        2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                                                                                                       
        3 root      20   0       0      0      0 S  0.0  0.0   0:08.75 ksoftirqd/0                                                                                                                                    
        5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H              
    ... ...                                                                                                                                 
    

    top命令可以看到总体的系统运行状态和cpu的使用率 。

    %us:表示用户空间程序的cpu使用率(没有通过nice调度)
    %sy:表示系统空间的cpu使用率,主要是内核程序。
    %ni:表示用户空间且通过nice调度过的程序的cpu使用率。
    %id:空闲cpu
    %wa:cpu运行时在等待io的时间
    %hi:cpu处理硬中断的数量
    %si:cpu处理软中断的数量
    %st:被虚拟机偷走的cpu
    注:99.0 id,表示空闲CPU,即CPU未使用率,100%-99.0%=1%,即系统的cpu使用率为1%。
    

    2、vmstat

    详细使用和参数介绍参考网址

    3、sar

    sar命令语法和vmstat一样。命令不存在时需要安装sysstat包,这个包很有用。
    

    命令示例:

    例如每1秒采集一次CPU使用率,共采集5次。
    
    [root@sss ~]# sar -u 1 5
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    04:56:03 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    04:56:04 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    04:56:05 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    04:56:06 PM     all      0.99      0.00      0.99      0.00      0.00     98.02
    04:56:07 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    04:56:08 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
    Average:        all      0.20      0.00      0.20      0.00      0.00     99.60
    

    和top一样,可以看到所有cpu的使用情况。如果需要查看某颗cpu的使用可以用-P参数。例如指定显示0号cpu 的使用情况。

    [root@sss ~]# sar -P 0 -u 1 5
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    04:39:13 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    04:39:14 PM       0      0.00      0.00      0.99      0.00      0.00     99.01
    04:39:15 PM       0      0.00      0.00      0.00      0.00      0.00    100.00
    04:39:16 PM       0      0.00      0.00      0.00      0.00      0.00    100.00
    04:39:17 PM       0      0.00      0.00      0.00      0.00      0.00    100.00
    04:39:18 PM       0      1.00      0.00      0.00      0.00      0.00     99.00
    Average:          0      0.20      0.00      0.20      0.00      0.00     99.60
    [root@izuf633l0ge76tv5mzalpmz ~]# 
    

    进程队列长度和平均负载状态
    例如每1秒采集一次,共采集5次。

    [root@sss ~]# sar -q 1 5  
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    04:40:14 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
    04:40:15 PM         0       149      0.00      0.01      0.05         0
    04:40:16 PM         0       149      0.00      0.01      0.05         0
    04:40:17 PM         0       149      0.00      0.01      0.05         0
    04:40:18 PM         1       149      0.00      0.01      0.05         0
    04:40:19 PM         1       149      0.00      0.01      0.05         0
    Average:            0       149      0.00      0.01      0.05         0
    

    输出项:

    runq-sz:运行队列的长度(等待运行的进程数)
    
    plist-sz:进程列表中进程(processes)和线程(threads)的数量
    
    ldavg-1:最后1分钟的系统平均负载(System load average)
    
    ldavg-5:过去5分钟的系统平均负载
    
    ldavg-15:过去15分钟的系统平均负载
    

    创建的平均值和上下文切换的次数
    例如每1秒收集一次,共收集5次。

    [root@sss ~]# sar -w 1 5 
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    04:41:39 PM    proc/s   cswch/s
    04:41:40 PM      0.00    274.26
    04:41:41 PM      0.00    277.78
    04:41:42 PM      0.00    285.00
    04:41:43 PM      0.00    280.00
    04:41:44 PM      0.00    270.00
    Average:         0.00    277.40
    

    sar命令也可以获取过去指定日期的性能参数。

    [root@sss ~]# sar -u -f /var/log/sa/sa08
    Linux 3.10.0-693.2.2.el7.x86_64 (localhost.localdomain)         04/08/2019      _x86_64_        (1 CPU)
    
    10:54:35 AM       LINUX RESTART
    
    11:00:02 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    11:10:01 AM     all     12.93      0.23      2.89      1.54      0.00     82.41
    11:20:01 AM     all     46.58      0.00      8.81      0.79      0.00     43.82
    11:30:01 AM     all     44.93      0.00      9.68      0.15      0.00     45.24
    11:40:02 AM     all      0.25      0.00      0.15      0.00      0.00     99.60
    11:50:01 AM     all      0.19      0.00      0.13      0.00      0.00     99.68
    12:00:01 PM     all      0.31      0.00      0.19      0.14      0.00     99.37
    ... ...
    

    4、mpstat

    这个命令也在sysstat包中,语法类似。
    cpu使用情况比sar更加详细些,也可以用-P指定某颗cpu 。
    

    例如每1秒收集一次,共5次。

    [root@sss ~]# mpstat 1 5 
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    04:58:01 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
    04:58:02 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    04:58:03 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    04:58:04 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    04:58:05 PM  all    1.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.00
    04:58:06 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
    Average:     all    0.20    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.80
    

    5、iostat

    这个命令主要用来查看io使用情况,也可以来查看cpu,个人感觉不常用。
    

    示例

    [root@sss ~]# iostat -c 1 2
    Linux 3.10.0-957.10.1.el7.x86_64 (izuf633l0ge76tv5mzalpmz)      04/16/2019      _x86_64_        (1 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.26    0.00    0.21    0.01    0.00   99.53
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.00    0.00    0.00    0.00    0.00  100.00
    

    6、dstat

    每秒cpu使用率情况获取

    [root@sss ~]#  dstat -c
    ----total-cpu-usage----
    usr sys idl wai hiq siq
      0   0 100   0   0   0
      0   1  99   0   0   0
      1   0  99   0   0   0
      0   0 100   0   0   0
      0   0 100   0   0   0
      1   1  98   0   0   0
      0   0 100   0   0   0
      ... ...
    

    最占cpu的进程获取

    [root@sss ~]# dstat --top-cpu  
    -most-expensive-
      cpu process   
    AliYunDun    0.2
    AliYunDun    2.0
    mysqld       1.0
    AliYunDun    1.0
    kworker/0:1H 1.0
    AliYunDun    1.0
    AliYunDun    1.0
    AliYunDun    1.0
    

    二、查看内存使用率

    1、top命令

    top 命令查看内存使用率

    查看第四行: KiB Mem
    内存使用率: used/ total
    

    2、free命令

    free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。

    1.命令格式:
    free [参数]
    
    2.命令功能:
    free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略
    
    3.命令参数:
    -b  以Byte为单位显示内存使用情况。 
    
    -k  以KB为单位显示内存使用情况。 
    
    -m  以MB为单位显示内存使用情况。
    
    -g   以GB为单位显示内存使用情况。 
    
    -o  不显示缓冲区调节列。 
    
    -s<间隔秒数>  持续观察内存使用状况。 
    
    -t  显示内存总和列。 
    
    -V  显示版本信息。 
    
    4.使用实例:

    实例1:显示内存使用情况

    命令示例:

    free [-k] # 以 kb  为单位显示内存使用状况
    free -g # 以 G 为单位显示内存使用状况
    free -m # 以 M 为单位显示内存使用状况
    free -t  # 以总和的形式显示内存的使用信息
    free -s 1 # 每一秒显示内存使用情况
    

    输出:

    [root@sss ~]# free
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      331760      811004         592      739468     1384944
    Swap:             0           0           0
    
    [root@sss ~]# free -g
                  total        used        free      shared  buff/cache   available
    Mem:              1           0           0           0           0           1
    Swap:             0           0           0
    
    [root@sss ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:           1838         324         791           0         722        1352
    Swap:             0           0           0
    
    [root@sss ~]# free -t
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      331760      811004         592      739468     1384948
    Swap:             0           0           0
    Total:      1882232      331760      811004
    
    [root@sss ~]# free -s 1
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      331760      811004         592      739468     1384948
    Swap:             0           0           0
    
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      331784      810980         592      739468     1384924
    Swap:             0           0           0
    
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      331784      810980         592      739468     1384924
    Swap:             0           0           0
    ... ...
    

    说明–对这些数值的解释:

    total:总计物理内存的大小。
    
    used:已使用多大。
    
    free:可用有多少。
    
    Shared:多个进程共享的内存总额。
    
    Buff/cache:磁盘缓存的大小。
    

    第三行是交换分区SWAP的,也就是我们通常所说的虚拟内存。
    当可用内存少于额定值的时候,就会进行交换

    如何看额定值:

    命令:

    cat /proc/meminfo 
    

    输出:

    [root@sss ~]# cat /proc/meminfo
    MemTotal:        1882232 kB
    MemFree:          811244 kB
    MemAvailable:    1385300 kB
    Buffers:           81268 kB
    Cached:           602500 kB
    SwapCached:            0 kB
    Active:           601948 kB
    Inactive:         379880 kB
    Active(anon):     298392 kB
    Inactive(anon):      256 kB
    Active(file):     303556 kB
    Inactive(file):   379624 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:             0 kB
    SwapFree:              0 kB
    Dirty:               320 kB
    Writeback:             0 kB
    AnonPages:        298052 kB
    Mapped:            47236 kB
    Shmem:               592 kB
    Slab:              55772 kB
    SReclaimable:      44076 kB
    SUnreclaim:        11696 kB
    KernelStack:        2384 kB
    PageTables:         5808 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:      941116 kB
    Committed_AS:     810896 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:       10604 kB
    VmallocChunk:   34359719676 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:    237568 kB
    CmaTotal:              0 kB
    CmaFree:               0 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:       63360 kB
    DirectMap2M:     2033664 kB
    DirectMap1G:           0 kB
    

    交换将通过三个途径来减少系统中使用的物理页面的个数:

    1.减少缓冲与页面cache的大小, 
    
    2.将系统V类型的内存页面交换出去,  
    
    3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。 
    

    事实上,少量地使用swap是不是影响到系统性能的。

    那buffers和cached都是缓存,两者有什么区别呢?

    为了提高磁盘存取效率, Linux做了一些精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
    
    磁盘的操作有逻辑级(文件系统)和物理级(磁盘块),这两种Cache就是分别缓存逻辑和物理级数据的。
    
    Page cache实际上是针对文件系统的,是文件的缓存,在文件层面上的数据会缓存到page cache。文件的逻辑层需要映射到实际的物理磁盘,这种映射关系由文件系统来完成。当page cache的数据需要刷新时,page cache中的数据交给buffer cache,因为Buffer Cache就是缓存磁盘块的。但是这种处理在2.6版本的内核之后就变的很简单了,没有真正意义上的cache操作。
    
    Buffer cache是针对磁盘块的缓存,也就是在没有文件系统的情况下,直接对磁盘进行操作的数据会缓存到buffer cache中,例如,文件系统的元数据都会缓存到buffer cache中。
    
    简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。
    
    所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准.
    
    如果是应用服务器的话,一般只看第二行,+buffers/cache,即对应用程序来说free的内存太少了,也是该考虑优化程序或加内存了。
    
    实例2:以总和的形式显示内存的使用信息

    命令:

     	free -t 
    

    输出:

    [root@sss ~]# free -t
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      331760      811004         592      739468     1384948
    Swap:             0           0           0
    Total:      1882232      331760      811004
    
    实例3:周期性的查询内存使用信息

    命令:

    free -s 10
    

    输出:

    [root@sss ~]# free -s 10
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      324924      816688         496      740620     1392280
    Swap:             0           0           0
    
                  total        used        free      shared  buff/cache   available
    Mem:        1882232      324944      816664         496      740624     1392260
    Swap:             0           0           0
    

    说明:

    每10s 执行一次命令
    

    三、查看磁盘使用率

    1、输入df命令

    [root@sss ~]# df
    

    显示详情:

    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/vda1 41151808 3794244 35244132 10% /
    devtmpfs 930644 0 930644 0% /dev
    tmpfs 941116 0 941116 0% /dev/shm
    tmpfs 941116 468 940648 1% /run
    tmpfs 941116 0 941116 0% /sys/fs/cgroup
    tmpfs 188224 0 188224 0% /run/user/0

    说明

    磁盘使用率=(Used列数据之和)/(1k-blocks列数据之和)
    

    磁盘和内存的区别与联系:

    (磁盘--也叫硬盘--或是U盘--或是移动硬盘)
    1、硬盘与内存都是存储器,一个是内部,一个是外部。
    
    2、硬盘与内存的区别是很大的,这里只谈最主要的三点:
    	1)内存是计算机的工作场所,硬盘用来存放暂时不用的信息;
    	2)内存是半导体材料制作,硬盘是磁性材料制作;
    	3)内存中的信息会随掉电而丢失,硬盘中的信息可以长久保存。
    	
    3、内存与硬盘的联系也非常密切:
    		硬盘上的信息永远是暂时不用的,要用请装入内存!
    		CPU与硬盘不发生直接的数据交换,CPU只是通过控制信号指挥硬盘工作,硬盘上的信息只有在装入内存后才能被处理。
    		
    4、计算机的启动过程就是一个从硬盘上把最常用信息装入内存的过程。
    
    5、硬盘则决定你的电脑可以装下多少东西,内存则决定你的电脑开机后一次最多可以运行多少程序(如手机运行内存)。
    
    展开全文
  • linux查看进程内存使用情况

    千次阅读 2021-01-25 15:31:59
    1.CPU占用最多的前10个进程 ...3.虚拟内存使用最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k5|head -10 4.也可以试试 ps auxw --sort=rss ps auxw --sort=%cpu5.看看几个参数含义 %MEM 进程的内

    1.CPU占用最多的前10个进程

    ps auxw|head -1;ps auxw|sort -rn -k3|head -10

    Linux终端查看最消耗CPU内存的进程Linux终端查看最消耗CPU内存的进程

    2.内存消耗最多的前10个进程

    ps auxw|head -1;ps auxw|sort -rn -k4|head -10

    Linux终端查看最消耗CPU内存的进程Linux终端查看最消耗CPU内存的进程

    3.虚拟内存使用最多的前10个进程

    ps auxw|head -1;ps auxw|sort -rn -k5|head -10

    Linux终端查看最消耗CPU内存的进程Linux终端查看最消耗CPU内存的进程

    4.也可以试试

    ps auxw --sort=rss
    ps auxw --sort=%cpu

    5.看看几个参数含义

    1. %MEM 进程的内存占用率
    2. MAJFL is the major page fault count,
    3. VSZ 进程所使用的虚存的大小
    4. RSS 进程使用的驻留集大小或者是实际内存的大小(RSS is the "resident set size" meaning physical memory used)
    5. TTY 与进程关联的终端(tty)

    以上就是良许教程网为各位朋友分享的Linux相关知识。

    展开全文
  • 在实际工作当中,有时候需要计算某个进程的cpu使用率或者是内存使用率。 下面将介绍一种linux中计算某个指定进程的cpu使用率和内存使用率的方法。

    在实际工作当中,有时候需要计算某个进程的cpu使用率或者是内存使用率。

    下面将介绍一种linux中计算某个指定进程的cpu使用率和内存使用率的方法。

    在正式开始之前,先对要使用到的文件和命令进行一下说明。

    0. /proc/uptime

    该文件中储存了两个数字,第一个数值代表系统总的启动时间,第二个数值则代表系统空闲的时间,单位都是秒

    例如,在我的工作机器上执行结果如下:

    $ cat   /proc/uptime
    5711847.49   3339234.87
    $

    1. /proc/[pid]/stat

    包含了所有CPU活跃的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。

    在此只介绍几个和本文相关的参数,其他参数就不一一介绍了,相关介绍网上有很多,请大家自行搜索。

    utime:该进程在用户态运行的时间,单位为jiffies
    stime:该进程在核心态运行的时间,单位为jiffies

    start_time:该进程启动的时间,单位为jiffies

    rss:该进程当前驻留物理地址空间的大小,单位是page

    例如,在我的工作机器上执行结果如下:

    $ cat /proc/1/stat
    1 (init) S 0 1 1 0 -1 4202752 2349 1719861150 8 23067 20 3681 34030168 1016826 20 0 1 0 1 2969600 328 4294967295 1 1 0 0 0 0 0 4096 536962595 4294967295 0 0 0 5 0 0 28 0 0
    $

    2. jiffies

    上述描述中,对于时间的计算,用了两种计量单位:秒和jiffies。

    对于秒,大家肯定都不陌生,但是jiffies就未必了。jiffies是一个全局变量,用来记录自系统启动以来产生的节拍的总数。

    启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。

    一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。

    总结起来,jiffies与秒的运算关系为:

    second = jiffies / Hz

    3. /proc/meminfo

    获取系统内存的详细信息。例如,在我的工作机器上执行结果如下:

    $ cat /proc/meminfo
    MemTotal:        8131024 kB
    MemFree:         6895932 kB
    Buffers:          502416 kB
    Cached:           307764 kB
    SwapCached:         4132 kB
    ...

    $

    下面言归正传,讲述如何在代码中计算某个进程的cpu使用率和内存使用率

    1. 计算指定进程的cpu使用率

    ①.计算系统的运行时间

    cat /proc/uptime,得到系统运行的总时间up_time

    ②. 计算process的运行时间

    cat /proc/[pid]/stat,得到进程运行的总时间total_time和进程的启动时间start_time。

    其中,total_time = stime + utime

    ③.获取系统时钟频率

    hz = sysconf(_SC_CLK_TCK);

    ④.计算cpu使用率

    seconds = up - (start_time / hz);//从进程启动到当前的时间,单位为秒

    pcpu = (((total_time * 1000ULL) / hz) / seconds);

    2. 计算指定进程的内存使用率

    ①. 获取系统的memsize

    cat /proc/meminfo

    ②.获取进程的page数

    cat /proc/[pid]/stat

    ③.获取系统的page size(单位是Byte)

    sysconf(_SC_PAGE_SIZE)

    ④.计算内存使用率

    rss = page_cnt * page_size / 1024;

    pmem = (rss * 1000UL) / memsize;

    展开全文
  • qt 监听linux进程的CPU使用率和内存使用率 主要是总结一下网上查找到的资料,代码如下:有两种形式:形式一,利用命令行,然后获得命令行的数据。 形式二,读取linux下的一个环境配置信息文件,里面映射这很...
    qt 监听linux下进程的CPU使用率和内存使用率

    主要是总结一下网上查找到的资料,代码如下:有两种形式:形式一,利用命令行,然后获得命令行的数据。
    形式二,读取linux下的一个环境配置信息文件,里面映射这很多系统信息,例如cpu使用情况,进程情况等等。

    代码;
    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include"qprocess.h"
    #include"QProcess"
    #include"string.h"
    #include"qdir.h"
    #include"ee.h"
    #include <QFile>
    #include <QTextStream>
    #include <QString>
    #include <QLabel>
    #include <QDateTime>
    #include<QTime>
    #include<QTimer>
    QTimer *testTimer;
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        testTimer = new QTimer(this);
    }


    MainWindow::~MainWindow()
    {
        delete ui;
    }


    void MainWindow::changeEvent(QEvent *e)
    {
        QMainWindow::changeEvent(e);
        switch (e->type()) {
        case QEvent::LanguageChange:
            ui->retranslateUi(this);
            break;
        default:
            break;
        }
    }


    void MainWindow::on_pushButton_clicked()
    {


    //ee *e=new ee();
    //long z=e->find_pid_by_name("cpu2");


        //QStringList arguments;
             //arguments << "-aux" << ">"<<"/test/3.txt";
    //QProcess *p = new QProcess(this);
    //p->execute("ps -aux > /test/3.txt");
    //QString s= p->readAllStandardOutput();
    //ui->lineEdit->setText(s);
             //QProcess *p = new QProcess(this);
             //p->start("ps -aux > /test/3.txt);
             //myProcess->start("/ps", arguments);


     QObject::connect(testTimer, SIGNAL(timeout()), this, SLOT(timer_Update()));
     testTimer->start(1000);
    }


    void MainWindow::timer_Update()
    {
        QString check;
        bool x=false;


        system("ps -aux > /test/3.txt");
    QFile file("/test/3.txt");
    if (file.open(QIODevice::ReadOnly | QIODevice::WriteOnly))//以读写方式打开文件,若写成
        {                                                                                            //QIODevice::WriteRead占内存较多
    QTextStream in(&file);
        while (!in.atEnd())                                                  //检测是否读完文件
                        {


                     QString line = in.readLine();
                     ui->lineEdit->setText(line);
                 x=line.contains("cpu2",Qt::CaseInsensitive);
                 if(x==true)
                 {
    QString kk;
    kk=line.at(16);
    kk+=line.at(17);
    kk+=line.at(18);
    kk+=line.at(19);
    ui->label->setText(kk);
    ui->lineEdit->setText(line);
    break;
                 }
                 }}
    }


    void MainWindow::on_pushButton_2_clicked()
    {
        testTimer->stop();
    }
    展开全文
  • linux查看进程内存使用情况

    千次阅读 2012-09-29 14:24:18
    动态查看一个进程内存使用 [c-sharp] view plaincopyprint? 1、top命令 top -d 1 -p pid [,pid ...] //设置为delay 1s,默认是delay 3s  如果想根据内存使用量进行排序,可以shift + ...
  • Linux查看进程内存状况

    千次阅读 2013-01-26 15:33:46
    该命令可以提供进程状态、文件句柄数、内存使用情况等信息。 #pa aux 先查看进程 nginx的工作进程是5757   pmap命令 可以显示一个或多个进程所使用的内存数量。你可以使用这个工具来了解服务器上的某个...
  • 查看linux服务器进程内存使用情况

    千次阅读 2017-03-29 22:06:16
    1.查看所有进程的内存使用情况 ...如下图是使用top -d 1 -p PID指令查看进程内存使用情况的结果 3.内容解释: PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进
  • linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。常用的查看CPU使用率命令为top命令。 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows...
  • 文章目录1 查看进程命令ps2 查看cpu,内存利用ps auxm3 强行终止进程命令kill -9 1 查看进程命令ps 打开终端,输入 ps -e | grep Typora 就能得到和Typora相关的所有进程 标准格式为: ps [options] [--help] ...
  • Linux查看CPU使用率、内存使用率

    千次阅读 2020-04-16 11:56:01
    一、CPU使用率查看 1.cat /proc/loadavg命令 $ cat /proc/loadavg 0.08 0.06 0.10 1/442 8347 前三项分别是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载为在特定时间间隔内运行队列中的平均进程数,...
  • 通过使用QProcess启动外部命令,然后读取标准输出流进行解析,最后将解析出的字符串转换成对应类型
  • 一、可以使用以下命令查:使用内存最多的K个进程 方法1: ps -aux | sort -k4nr | head -K 如果是10个进程,K=10,如果是最高的三个,K=3 说明: 【ps -aux】(a指代all——所有的进程,u指代userid——执行...
  • linux 查看进程cpu和内存占用排序

    千次阅读 2011-02-23 10:24:00
    ps auxw --sort=rss ps auxw --sort=%cpulinux 下的ps命令%CPU 进程的cpu占用 %MEM 进程内存占用 VSZ 进程使用的虚存的大小 RSS 进程使用的驻留集大小或者是实际内存的大小 ...
  • -sort -rss或者:https://www.cnblogs.com/sparkbj/p/6148817.htmlLinux下如何查看哪些进程占用的CPU内存资源最多linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps a...
  • linux 查看 特定进程 内存

    千次阅读 2020-02-01 18:02:39
    Linux查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如ps-ef |grepkafka可以看到kafka这个程序的进程id    可以看到是2913,现在可以使用如下命令查看内存: top -p 2913    这样可以...
  • linux系统下查看某个进程内存使用

    千次阅读 2020-01-03 11:33:20
    linux系统下可以查看进程的状态信息来获取进程内存使用量,可通过top 和proc文件进程信息查看查看步骤如下: 1、获取进程ID,可以通过ps -elf命令获取,且可以通过grep获取指定的进程,如下图获取update.zip...
  • 查看LINUX进程内存占用情况

    千次阅读 2019-06-05 10:53:32
    可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:  (1)top  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows...
  • 任务描述,使用linux脚本对某一特定进程内存使用率进行监视   使用的linux脚本如下: #!/bin/bash pid=$1 pname=$(top -n 1 -p $pid |awk '{print $13}'|tail -3|head -1) msg="memory usage log for pid:...
  • top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。但是这样虽然看的东西多,但是闲的比较乱,并且从如此多的内容中找到我们所需要的也较为困难,故此...
  • Linux查看进程内存占用情况

    千次阅读 2014-02-20 13:58:54
     top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器  内容解释:  PID:进程的ID  USER:进程所有者  PR:进程的优先级别,越小越优先被执行...
  • linux 计算内存使用率

    千次阅读 2014-11-08 11:54:16
    1、通过定期采集/proc文件系统内的meminfo文件来获取当前内存使用情况: proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用...
  • linux ps命令,查看进程cpu和内存占用排序 使用以下命令查看: ps -aux | sort -k4,4n ps auxw --sort=rss ps auxw --sort=%cpu linux 下的ps命令 %CPU 进程的cpu占用 %MEM 进程内存占用 VSZ ...
  • Linux 查看某一个进程占用内存情况

    千次阅读 2020-06-30 14:21:28
    Linux查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如ps-ef |grepkafka可以看到kafka这个程序的进程id    可以看到是2913,现在可以使用如下命令查看内存: top -p 2913    这样可以...
  • linux ps命令,查看进程cpu和内存占用排序 使用以下命令查看: ps -aux | sort -k4,4n ps auxw --sort=rss ps auxw --sort=%cpu linux 下的ps命令 %CPU 进程的cpu占用 %MEM 进程内存占用 VSZ 进程所...
  • linux系统内存实际使用率

    千次阅读 2014-07-02 20:18:25
    linux系统内存实际使用率 图中的例子很典型,就是:多数的linux系统在free命令后会发现free(剩余)的内存很少,而自己又没有开过多的程序或服务。 对于上述的情况,正确的解释是: linux内存管理...
  • linux查看进程 及CPU使用率

    千次阅读 2010-08-13 18:47:00
    RSS 进程使用的驻留集大小或者是实际内存的大小 TTY 与进程关联的终端(tty) STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不...
  • linux ps命令,查看进程cpu和内存占用情况, linux ps命令,查看进程cpu和内存占用排序。 不指定 背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。 一、 linux ps命令,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 103,685
精华内容 41,474
关键字:

linux查看进程内存使用率

linux 订阅