1.1 top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
参数解释:
-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。
-b:以批次的方式执行top。
-n:与-b配合使用,表示需要进行几次top命令的输出结果。
-p:指定特定的pid进程号进行观察。
1.2 iostat 主要用于输出磁盘IO 和 CPU的统计信息。
参数解释:
-c: 显示CPU使用情况
-d: 显示磁盘使用情况
-N: 显示磁盘阵列(LVM) 信息
-n: 显示NFS 使用情况
-k: 以 KB 为单位显示
-m: 以 M 为单位显示
-t: 报告每秒向终端读取和写入的字符数和CPU的信息
-V: 显示版本信息
-x: 显示详细信息
-p: 显示磁盘和分区的情况
1.3 sar对系统当前状态尽行取样,通过计算数据和比例来表达系统当前的运行状态。
参数解释:
-b I/O 和传输速率信息状况
-B 分页状况
-d 块设备状况
-I { <中断> | SUM | ALL | XALL } 中断信息状况
-m { <关键字> [,....] | ALL } 电源管理信息状况
关键字包括:CPU,FAN,FREQ,IN,TEMP,USB
-n { <关键词> [,...] | ALL } 网络状况统计
1.4 free是专门用来查看内存的。包括物理内存、交换内存(swap)和内核缓冲区内存。
参数解释:
-b -k -m 分别以字节(KB、MB)为单位显示内存使用情况。
-s delay 显示每隔多少秒数来显示一次内存使用情况。
-t 显示内存总和列。
-o 不显示缓冲区调节列
1.5ps 命令用来列出系统中 当前正在运行的那些进程
参数解释:
F :代表这个程序的旗标 (flag), 4 代表使用者为 super user
S :代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
UID: 程序被该 UID 所拥有
PID:process ID的缩写,也就进程号
PPID :process parent ID,父进程ID
C: CPU 使用的资源百分比
PRI :这个是 Priority (优先执行序) 的缩写
NI :这个是 Nice 值
ADDR: 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ :使用掉的内存大小
WCHAN: 目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY: 登入者的终端机位置
TIME: 使用掉的 CPU 时间。
CMD:所下达的指令为何
2.1
top - 15:27:20 up 45 min, 1 user, load average: 1.17, 1.30, 1.08
任务: 245 total, 1 running, 202 sleeping, 0 stopped, 0 zombie
%Cpu(s): 21.4 us, 4.8 sy, 0.0 ni, 73.4 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 4026036 total, 217552 free, 2493836 used, 1314648 buff/cache
KiB Swap: 1942896 total, 1941860 free, 1036 used. 1158624 avail Mem
进�� USER PR NI VIRT RES SHR � %CPU %MEM TIME+ COMMAND
1394 oseasy 20 0 3698160 500460 159468 S 18.6 12.4 12:15.35 gnome-shell
4438 oseasy 20 0 5198168 907460 450988 S 9.3 22.5 4:51.62 firefox
4669 oseasy 20 0 3106612 362644 173996 S 6.0 9.0 2:02.58 Isolated W+
1262 oseasy 20 0 982872 330508 115164 S 3.0 8.2 2:28.49 Xorg
7662 oseasy 20 0 2550396 69812 59640 S 2.7 1.7 0:00.08 Web Content
4037 oseasy 20 0 819356 44596 33680 S 1.0 1.1 0:03.05 gnome-term+
1420 oseasy 9 -11 2122700 17484 13568 S 0.7 0.4 0:11.97 pulseaudio
7621 oseasy 20 0 2573612 86520 73992 S 0.7 2.1 0:00.10 Web Content
4123 oseasy 20 0 1559660 165444 70288 S 0.3 4.1 0:11.51 codeblocks
4496 oseasy 20 0 2644796 119728 91472 S 0.3 3.0 0:01.44 Privileged+
1 root 20 0 159860 9032 6608 S 0.0 0.2 0:02.76 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:+
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_+
2.2Linux 5.4.0-109-generic (PC36) 2022年05月09日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
24.63 0.18 2.84 0.08 0.00 72.27
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
loop0 0.01 0.04 0.00 116 0
loop1 0.02 0.04 0.00 120 0
loop2 0.13 0.14 0.00 422 0
loop3 0.01 0.02 0.00 46 0
loop4 7.81 8.14 0.00 24626 0
loop5 0.04 0.37 0.00 1128 0
loop6 0.02 0.12 0.00 348 0
loop7 1.42 1.52 0.00 4601 0
scd0 0.00 0.02 0.00 58 0
vda 27.04 567.55 368.96 1717341 1116424
vdb 0.03 0.69 0.00 2084 0
loop8 0.08 0.18 0.00 540 0
loop9 0.02 0.35 0.00 1052 0
loop10 0.08 0.17 0.00 522 0
loop11 0.19 0.52 0.00 1585 0
loop12 0.00 0.00 0.00 4 0
loop13 0.13 0.22 0.00 680 0
loop14 7.32 7.64 0.00 23130 0
loop15 0.02 0.04 0.00 127 0
loop16 0.02 0.04 0.00 121 0
loop17 0.02 0.12 0.00 351 0
loop18 0.05 0.39 0.00 1167 0
loop19 0.00 0.00 0.00 4 0
2.3Linux 5.4.0-109-generic (PC36) 2022年05月09日 _x86_64_ (2 CPU)
15:37:52 LINUX RESTART (2 CPU)
2.4 总计 已用 空闲 共享 缓冲/缓存 可用
内存: 4026036 2599704 197548 133452 1228784 1063404
交换: 1942896 1292 1941604
2.5 PID TTY TIME CMD
4416 pts/1 00:00:00 bash
11040 pts/1 00:00:00 bash
11347 pts/1 00:00:00 ps
3.1#include
int main()
{
int i,n;
double sum=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum*i;
printf("%d!=%lf",n,sum);
printf("n");
return 0;
}
4.1#include
#include
#include
#include
#include
#include
void main()
{
int fdsrc,fddes,nbytes,wtype;
char str[30];
if((fddes=open("pass",O_CREAT|O_TRUNC|O_WRONLY,0600))<0)
{
printf("打开(创建)文件pass失败!");
exit(1);
}
if((fdsrc=open("/etc/passwd",O_RDONLY))<0)
{
printf("打开文件失败!");
exit(1);
}
while((nbytes=read(fdsrc,str,30))>0)
{
if((wtype=write(fddes,str,30))<0)
printf("写入文件失败");
}
close(fdsrc);
close(fddes);
}
4.2#include
#include
#include
#include
int main()
{
if(NULL==opendir("/d1/liujian/readdb/adTest/data/html"))
mkdir("/d1/liujian/readdb/adTest/data/html",0775);
return 0;
}



