
Linux将物理
内存按固定大小的页面(一般为4K)划分内存,在内核初始化时,会建立一个全局struct page结构数组mem_map[ ]。如
系统中有76G物理内存,则物理内存页面数为76*1024*1024k/4K= 19922944个页面,mem_map[ ]数组大小19922944,即为数组中每个元素和物理内存页面一一对应,整个数组就代表着系统中的全部物理页面。 在服务器中,存在NUMA架构(如Nehalem、Romly等),Linux将NUMA中内存访问速度一致(如按照内存通道划分)的部分称为一个节点(Node),用struct pglist_data数据结构表示,通常使用时用它的typedef定义pg_data_t。系统中的每个结点都通过pgdat_list链表pg_data_t->node_next连接起来,该链接以NULL为结束标志。每个结点又进一步分为许多块,称为区域(zones)。区域表示内存中的一块范围。区域用struct zone_struct数据结构表示,它的typedef定义为zone_t。更多详细的解答可以
查看《Linux就该这么学》。
linux查看程序运行状态需要在系统监视器中查看。
以deepin为例,查看程序运行状态步骤如下所示:
1、在deepin程序列表中,选择系统管理。
2、在系统管理中选择系统监视器选项。
3、如图所示,在系统监视器中,即可查看程序运行状态。
在linux系统中动态查看系统资源的运行,可以使用vmstat命令(是英文view
machine
status的简写),这个命令可以动态查看cpu/内存/磁盘的输入输出等的状态。
这个命令和内存信息有关的参数是-fs,例子:
vmstat
5
-fs
-s
m
表示5秒显示一次内存信息,单位是m
评论列表(0条)