同是soc,参加新星计划学习下大佬的思路
sys系统
针对:(内核)1.1、通过sysfs清楚了解设备的系统状况的学习
通过了解sys目录和文件了解嵌入式设备的系统状况。
sysfs
把连接在系统上的设备和总线组织成为一个分级的文件,它们可以由用户空间存取,向用户空间导出内核的数据结构Q以及它们的属性。sysfs
的一个目的就是展示设备驱动模型中各组件的层次关系。
DNS协议
基于DNS协议
比如日常生活中,你记得一个人的名字,但是不记得他的电话号码,你就需要一个电话簿。
而我们上网冲浪记得一个域名的名字,却不记得它的地址,那我们就需要一个IP 地址簿,也就是DNS 服务器。
DNS服务器非常重要,如果他出现了故障,那么整个互联网都会瘫痪。而同时分布在世界各地的大家,如果在同一个时间去访问某一台服务器,时延将会非常大。因而,DNS 服务器,一定要设置成高可用、高并发和分布式的。
负载均衡从在客户端角度来看是一次DNS递归查询过程。在这个过程中,DNS除了可以通过名称映射为IP地址,它还可以做另外一件事,就是负载均衡。
如果一个应用要访问数据库,应该配置域名,因为一旦这个数据库,因为某种原因,换到了另外一台机器上,而如果有多个应用都配置了这台数据库的话,一换IP地址,就需要将这些应用全部修改一遍。而如果配置了域名,则只要在DNS服务器里,将域名映射为新的IP地址,这个工作就完成了,大大简化了运维。
在这个基础上,我们可以再进一步。例如,某个应用要访问另外一个应用,如果配置另外一个应用的IP地址,那么这个访问就是一对一的。但是当被访问的应用撑不住的时候,我们其实可以部署多个。但是,访问它的应用,如何在多个之间进行负载均衡?只要配置成为域名就可以了。在域名解析的时候,我们只要配置策略,这次返回第一个IP,下次返回第二个IP,就可以实现负载均衡了。
另外一个更加重要的是,DNS还可以做全局负载均衡。
CPU使用率
man proc
指令 | 名字 | 作用 |
---|---|---|
user (us) | 用户态CPU时间 | |
nice (ni) | 低优先级用户态CPU时间 | 进程的nice值被调整为1-19之间时的CPU时间 |
system (sys) | 内核态CPU时间 | |
idle (id) | 空闲时间 | 不包括等待 I/O的时间(iowait) |
iowait (wa) | 等待I/0的CPU时间 | |
irg (hi) | 处理硬中断的CPU时间 | |
softirq (si) | 处理软中断的CPU时间 | |
steal (st) | 当系统运行在虚拟机中的时候,被其他虚拟机占用的CPU时间 | |
guest | 通过虚拟化运行其他操作系统的时间,也就是运行虚拟机的CPU时间 | |
guest_nice (通常缩写为gnice) | 以低优先级运行虚拟机的时间 |
top
top
显示了系统总体的CPU和内存使用情况,以及各个进程的资源使用情况
ps
则只显示了每个进程的资源使用情况
查看每个进程的详细情况可以用如下命令:
pidstat
,它正是一个专门分析每个进程CPU使用情况的工具
比如,下面的pidstat
命令,就间隔1秒展示了进程的5组cpu使用率,包含:
命令 | 作用 |
---|---|
%usr | 用户态cpu使用率 |
%system | 内核态cpu使用率 |
%guest | 运行虚拟机CPU使用率 |
%wait | 等待cpu使用率 |
%CPU | 总的cpu使用率 |