目录
1 SSH的安全机制
参看文献与说明:
1.1 SSH简介及两种远程登录的方法
https://blog.csdn.net/li528405176/article/details/82810342
口令登录时,如果需要调用图形界面程序可以使用 -X 选项
ssh -X username@ip
如果客户机的用户名和服务器的用户名相同,登录时可以省略用户名。
ssh ip
还要说明的是,SSH服务的默认端口是22,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号,比如连接到服务器的1234端口:
ssh -p 1234 username@ip
1.2 关于调用图形界面 -X??
1.3 公钥登录解释
1.在第一次操作时(没有公钥),先生成公钥和私钥
ssh-genkey
2.运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。
这时再输入下面的命令,将公钥传送到远程主机host上面:
ssh-copy-id username@ip
此时就完成了设置,以后登录就不需要密码了。
3.以后登录时不用输入密码的解释:
1.用户将自己的公钥储存在远程主机上;
2.登录的时候,本地会发送自己的请求,远程主机会根据请求找到一致的公钥;
3.然后远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来;
4.远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
参考文献:https://blog.csdn.net/pipisorry/article/details/52269785
1.4 避免ssh退出导致程序断开
问题:Linux关闭ssh(关闭终端等)后运行的程序或者服务自动停止,如
python3 a.py
解决办法:使用nohup命令让程序在关闭窗口(切换SSH连接)的时候程序还能继续在后台运行。nohup即no hang up(不挂起)。
nohup python3 a.py
参考文献:
https://blog.csdn.net/pipisorry/article/details/52269785
https://blog.csdn.net/pipisorry/article/details/23376005 --讲了一些命令,还没有看完,挺好的,下面是其中的一些命令:
工作管理job control
脱机管理\离线管理nohup
进程管理
周期性执行某一命令,并将输出显示watch
基本用法
$ watch [options] command
最常用的参数是 -n, 后面指定是每多少秒来执行一次命令。
监视显存:我们设置为每 10s 显示一次显存的情况:
$ watch -n 10 nvidia-smi
1.5 公钥 私钥的直观解释??
1.6 设置ftp协议??
mac中的su -
vim /etc/profile下去修改alias
2 系统资源的查看
2.1 进程管理命令
1.周期性执行某一命令,并将输出显示watch
基本用法
$ watch [options] command
最常用的参数是 -n, 后面指定是每多少秒来执行一次命令。
监视显存:我们设置为每 10s 显示一次显存的情况:
$ watch -n 10 nvidia-smi
2.查看内存占用和cpu使用情况top
# top [-d 数字] | top [-bnp]
选项与参数:
-d :后面可以接秒数,就是整个程序画面更新的秒数。默认是 5 秒;
-b :以批次的方式执行 top ,还有更多的参数可以使用喔!
通常会搭配数据流重导向来将批次的结果输出成为文件。
-n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。
-p :指定某些个 PID 来进行观察监测而已。
在 top 执行过程当中可以使用的按键指令:
? :显示在 top 当中可以输入的按键指令;
P :以 CPU 的使用资源排序显示;
M :以 Memory 的使用资源排序显示;
N :以 PID 来排序喔!
T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。
k :给予某个 PID 一个讯号 (signal)
r :给予某个 PID 重新制订一个 nice 值。
q :离开 top 软件的按键。
3.gpu检测
watch -n 1 nvidia-smi 表示每过1秒刷新一次输出
第一栏的Fan:N/A是风扇转速,从0到100%之间变动。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温。
第二栏的Temp:是温度,单位摄氏度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain?device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是【显存使用率】。
第七栏是浮动的【GPU利用率】。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。
https://blog.csdn.net/wuguangbin1230/article/details/72886903
https://blog.csdn.net/jasonzzj/article/details/52649174
显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。
2.2 相关指令汇总
参看文献
https://my.oschina.net/hunterli/blog/140783
https://blog.csdn.net/pipisorry/article/details/23376005
查看cpu统计信息 lscpu 这个比较好用
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# lsb_release -a # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看CPU信息(型号)
# cat /proc/meminfo # 查看内 存信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
# dmidecode | grep "Product Name" #查看机器型号
# dmesg | grep -i eth #查看网卡信息
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况(human)
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
1.查看CPU信息
# uname -a # 查看内核/操作系统/CPU信息
cheng@csrc-Precision-7920-Tower:~$ uname -a
Linux csrc-Precision-7920-Tower 4.15.0-46-generic #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
内核为:
操作系统:
CPU:
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看CPU信息(型号)
cheng@csrc-Precision-7920-Tower:~$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
32 Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
市场上,卖cpu的就是inter 和AMD 2家
看到有32个逻辑CPU, 也知道了CPU型号
逻辑CPU数目=32
2.关于CPU数目的解释
1.物理cpu数:主板上实际插入的cpu数量,可以数不重复的 physical id 有几个(physical id)
cheng@csrc-Precision-7920-Tower:~$ grep 'physical id' /proc/cpuinfo|sort|uniq|wc -l
2
2.cpu核数:单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)
cheng@csrc-Precision-7920-Tower:~$ grep 'cpu cores' /proc/cpuinfo|uniq|awk -F ':' '{print $2}'
8
3.逻辑cpu数:简单来说,它可使处理器中的1颗内核,像2颗内核那样在操作系统中发挥作用。
i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
cheng@csrc-Precision-7920-Tower:~$ cat /proc/cpuinfo| grep 'processor'|wc -l
32
这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时:
总核数 = 物理CPU个数 × 每颗物理CPU的核数;
总逻辑CPU数 = 物理CPU个数 ×每颗物理CPU的核数 × 超线程数(一般为2)
=物理CPU个数×每颗核数x2
逻辑cpu数/具体解释:
操作系统可以使用逻辑CPU来模拟出真实CPU的效果。在之前没有多核处理器的时候,一个CPU只有一个核,而现在有了多核技术,其效果就好像把多个CPU集中在一个CPU上。
当计算机没有开启超线程时,逻辑CPU的个数就是计算机的核数。而当超线程开启后,逻辑CPU的个数是核数的两倍。
实际上逻辑CPU的数量就是平时称呼的几核几线程中的线程数量,在linux的cpuinfo中逻辑CPU数就是processor的数量。
相关查看指令:
统计信息:------------------------比较直观看到统计好的信息
cheng@csrc-Precision-7920-Tower:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
Stepping: 4
CPU MHz: 3507.955
CPU max MHz: 3700.0000
CPU min MHz: 1200.0000
BogoMIPS: 6400.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 25344K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
Flags:
具体信息:------------------------看到每个线程的情况是什么
cat /proc/cpuinfo 查看cpu信息,以下是其中部分输出
processor : 31 ----从0到31,一共32个进程(总逻辑CPU数目)
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz --CPU信息(型号)
stepping : 4
microcode : 0x200004d
cpu MHz : 3418.430
cache size : 25344 KB---L3 cache,对比一下上面的,这个理解为L3 cache!
physical id : 1 ---从0开始计算,这个说明这个线程来自于第二个CPU
siblings : 16
core id : 22 ----编号为22
cpu cores : 8 ---这块CPU只有8个核 --结合前面的32线程,说明是双线程的CPU
apicid : 109
initial apicid : 109
fpu : yes
fpu_exception : yes
cpuid level : 22
wp : yes
flags : ......
bogomips : 6401.98
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
具体含义:
参考:https://blog.csdn.net/cuker919/article/details/7635488/
processor :系统中逻辑处理核的编号。对于单核处理器,则课认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
vendor_id :CPU制造商
cpu family :CPU产品系列代号
model :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
stepping :CPU属于制作更新版本
cpu MHz :CPU的实际使用主频
cache size :CPU二级缓存大小
physical id :单个CPU的标号
siblings :单个CPU逻辑物理核数
core id :当前物理核在其所处CPU中的编号,这个编号不一定连续
cpu cores :该逻辑核所处CPU的物理核数
apicid :用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
fpu :是否具有浮点运算单元(Floating Point Unit)
fpu_exception :是否支持浮点计算异常
cpuid level :执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
wp :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags :当前CPU支持的功能
bogomips :在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
clflush size :每次刷新缓存的大小单位
cache_alignment :缓存地址对齐单位
address sizes :可访问地址空间位数
power management :对能源管理的支持,有以下几个可选支持功能:
查看CPU个数
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
其中**uniq命令:删除重复行;wc –l命令:统计行数**
返回4,不代表就是4个cpu,看看 cat /proc/cpuinfo | grep "physical id"具体输出
查看CPU核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 8
查看CPU型号
cat /proc/cpuinfo | grep 'model name' |uniq
model name : Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
3.查看内存-free-m
查看内存信息:
# cat /proc/meminfo
cheng@csrc-Precision-7920-Tower:~$ cat /proc/meminfo
MemTotal: 131518800 kB ----总内存
MemFree: 77286036 kB
MemAvailable: 125836360 kB ---可以利用的内存
Buffers: 2700488 kB
Cached: 44300756 kB
SwapCached: 0 kB
Active: 18880132 kB
Inactive: 32168692 kB
Active(anon): 3669664 kB
Inactive(anon): 396356 kB
Active(file): 15210468 kB
Inactive(file): 31772336 kB
Unevictable: 16 kB
Mlocked: 16 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 4047648 kB
Mapped: 722360 kB
Shmem: 18444 kB
Slab: 2784692 kB
SReclaimable: 2629368 kB
SUnreclaim: 155324 kB
KernelStack: 22768 kB
PageTables: 66736 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 67856548 kB
Committed_AS: 10322468 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 1416248 kB
DirectMap2M: 43159552 kB
DirectMap1G: 91226112 kB
内存使用情况:
# free -m # 查看内存使用量和交换区使用量
m表示用mb单位显示
cheng@csrc-Precision-7920-Tower:~$ free -m
total used free shared buff/cache available
Mem: 128436 7380 72440 166 48615 119853
Swap: 2047 0 2047
cheng@csrc-Precision-7920-Tower:~$ free
total used free shared buff/cache available
Mem: 131518800 7537564 74198780 169996 49782456 122749400
Swap: 2097148 0 2097148
重点:
Swap为虚拟内存,当物理内存不够时,系统就会使用到swap,但swap速度比真实内存的速度要慢的多,当你电脑用到swap的时候,说明你内存不够了,需要加内存!
也就是Swap对应的used大于0时。
# free [-b;-k;-m;-g;-h] [-t] [-s N -c N]
选项与参数:
-b :直接输入 free 时,显示的单位是 KBytes,我们可以使用 b(Bytes), m(MBytes)
k(KBytes), 及 g(GBytes) 来显示单位喔!也可以直接让系统自己指定单位 (-h)
-t :在输出的最终结果,显示实体内存与 swap 的总量。
-s :可以让系统每几秒钟输出一次,不间断的一直输出的意思!对于系统观察挺有效!
-c :与 -s 同时处理~让 free 列出几次的意思~
各列的含义:
total:总计物理内存的大小
used:已使用多大
free:空闲可用的有多少
Shared:多个进程共享的内存总额
Buffers/cached:磁盘缓存的大小,Buffers是系统存放需要写入磁盘数据的临时区域,cached是操作系统从磁盘中读取进来的缓存数据
第一行 Mem 是从操作系统的角度来看,Buffers/cached 都占用了内存,应该计入used,所以对于操作系统来说,used = 操作系统使用的内存 + 各个应用程序使用的内存 + Buffers + cached
第二行 (-/+ buffers/cached) 是从应用程序的角度来看,buffers/cached 是用来提高系统访问速度的,当应用程序需要更多内存时,buffers/cached是可以很快被回收的,所以对于应用程序来说,可用内存 = free + buffers + cached
最主要!
第三行 Swap 交换分区 重点看 used 是否经常大于0 如果是,就要考虑增加内存了
第三行 Swap 交换分区 重点看 used 是否经常大于0 如果是,就要考虑增加内存了
第三行 Swap 交换分区 重点看 used 是否经常大于0 如果是,就要考虑增加内存了
4.磁盘与分区
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
cheng@csrc-Precision-7920-Tower:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 3.2M 13G 1% /run
/dev/nvme0n1p2 468G 45G 400G 11% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/loop0 3.8M 3.8M 0 100% /snap/gnome-system-monitor/57
/dev/loop1 15M 15M 0 100% /snap/gnome-logs/37
/dev/loop2 141M 141M 0 100% /snap/gnome-3-26-1604/70
/dev/loop3 91M 91M 0 100% /snap/core/6405
/dev/loop5 2.3M 2.3M 0 100% /snap/gnome-calculator/260
/dev/loop4 35M 35M 0 100% /snap/gtk-common-themes/319
/dev/loop6 36M 36M 0 100% /snap/gtk-common-themes/1198
/dev/loop8 13M 13M 0 100% /snap/gnome-characters/139
/dev/loop7 87M 87M 0 100% /snap/core/4917
/dev/loop9 141M 141M 0 100% /snap/gnome-3-26-1604/78
/dev/loop10 15M 15M 0 100% /snap/gnome-logs/45
/dev/loop11 35M 35M 0 100% /snap/gtk-common-themes/1122
/dev/loop12 3.8M 3.8M 0 100% /snap/gnome-system-monitor/51
/dev/loop13 13M 13M 0 100% /snap/gnome-characters/103
/dev/loop14 141M 141M 0 100% /snap/gnome-3-26-1604/82
/dev/loop15 2.4M 2.4M 0 100% /snap/gnome-calculator/180
/dev/nvme0n1p1 511M 6.1M 505M 2% /boot/efi
/dev/sda1 11T 98G 11T 1% /home ---------这个比较重要
tmpfs 13G 20K 13G 1% /run/user/121
tmpfs 13G 52K 13G 1% /run/user/1005
tmpfs 13G 0 13G 0% /run/user/1007
tmpfs 13G 0 13G 0% /run/user/1012
tmpfs 13G 0 13G 0% /run/user/1006
5.网络
# ifconfig # 查看所有网络接口的属性
cheng@csrc-Precision-7920-Tower:~$ ifconfig
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 54:bf:64:97:8f:ab txqueuelen 1000 (Ethernet)
RX packets 217933 bytes 14576756 (14.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 265 bytes 25098 (25.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16 memory 0x90300000-90320000
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.0.96 netmask 255.255.254.0 broadcast 10.0.1.255
inet6 fe80::56bf:64ff:fe97:8492 prefixlen 64 scopeid 0x20<link>
ether 54:bf:64:97:84:92 txqueuelen 1000 (Ethernet)
RX packets 250231795 bytes 68646032241 (68.6 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 368562054 bytes 155371878169 (155.3 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0x90100000-9017ffff
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 479351257 bytes 110155937645 (110.1 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 479351257 bytes 110155937645 (110.1 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
6.查看硬盘和分区的详细信息–fdisk -l??
3.1 查看硬盘大小
fdisk -l | grep Disk
Disk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes
总结:硬盘大小146.7G,即厂商标称的160G
7.查看硬盘和分区分布–lsblk
cheng@csrc-Precision-7920-Tower:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 3.7M 1 loop /snap/gnome-system-monitor/57
loop1 7:1 0 14.5M 1 loop /snap/gnome-logs/37
loop2 7:2 0 140.9M 1 loop /snap/gnome-3-26-1604/70
loop3 7:3 0 91M 1 loop /snap/core/6405
loop4 7:4 0 34.7M 1 loop /snap/gtk-common-themes/319
loop5 7:5 0 2.3M 1 loop /snap/gnome-calculator/260
loop6 7:6 0 35.3M 1 loop /snap/gtk-common-themes/1198
loop7 7:7 0 86.9M 1 loop /snap/core/4917
loop8 7:8 0 13M 1 loop /snap/gnome-characters/139
loop9 7:9 0 140.7M 1 loop /snap/gnome-3-26-1604/78
loop10 7:10 0 14.5M 1 loop /snap/gnome-logs/45
loop11 7:11 0 34.8M 1 loop /snap/gtk-common-themes/1122
loop12 7:12 0 3.7M 1 loop /snap/gnome-system-monitor/51
loop13 7:13 0 13M 1 loop /snap/gnome-characters/103
loop14 7:14 0 140.7M 1 loop /snap/gnome-3-26-1604/82
loop15 7:15 0 2.3M 1 loop /snap/gnome-calculator/180
sda 8:0 0 10.9T 0 disk
└─sda1 8:1 0 10.9T 0 part /home
sr0 11:0 1 1024M 0 rom
nvme0n1 259:0 0 477G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
└─nvme0n1p2 259:2 0 476.4G 0 part /
2.3 查看CPU和内存的使用情况
参考:https://cloud.tencent.com/developer/article/1081578
https://blog.csdn.net/nancy198696/article/details/8768462
https://blog.csdn.net/zhangliao613/article/details/79021606
1.CPU使用情况-top-1
通常使用top命令查看CPU的当前状态,如果是多核CPU,也可以看到每核的信息
执行后按数字1,可以显示多个CPU状态
Tasks: 519 total, 2 running, 348 sleeping, 0 stopped, 0 zombie
%Cpu0 : 57.2 us, 31.3 sy, 0.0 ni, 11.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 60.7 us, 31.4 sy, 0.0 ni, 7.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 56.1 us, 34.1 sy, 0.0 ni, 9.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 59.0 us, 31.9 sy, 0.0 ni, 9.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu4 : 50.5 us, 36.9 sy, 0.0 ni, 12.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu5 : 57.3 us, 33.2 sy, 0.0 ni, 9.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu6 : 55.3 us, 33.9 sy, 0.0 ni, 10.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu7 : 61.4 us, 31.2 sy, 0.0 ni, 7.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu8 : 98.3 us, 1.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu9 : 98.7 us, 1.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu10 : 98.7 us, 1.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu11 : 98.3 us, 1.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu12 : 97.3 us, 2.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu13 : 86.8 us, 13.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu14 : 98.3 us, 1.7 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu15 : 96.7 us, 3.3 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu16 : 97.4 us, 2.6 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu17 : 51.4 us, 34.5 sy, 0.0 ni, 14.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu18 : 51.4 us, 36.3 sy, 0.0 ni, 12.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu19 : 56.9 us, 32.7 sy, 0.0 ni, 10.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
例如:
Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
%us - 用户空间占用CPU百分比
%sy - 内核空间占用CPU百分比
%ni - 用户进程空间内改变过优先级的进程占用CPU百分比
%id - 空闲CPU百分比
%wa - IO等待占用CPU的百分比
%hi - 硬中断(Hardware IRQ)占用CPU的百分比
%si - 软中断(Software Interrupts)占用CPU的百分比
%us 和 %id 的值比较重要,系统请求压力大时,可以看到这两项的迅速变化
2.内存使用情况-free-m
top命令也可以看到当前的内存使用状况,但free命令更直观
补充在前面了,看前面的就行:
free -m 中最重要的是:
cheng@csrc-Precision-7920-Tower:~$ free -m
total used free shared buff/cache available
Mem: 128436 3484 72522 17 52429 123896
Swap: 2047 0 2047
重点:
Swap为虚拟内存,当物理内存不够时,系统就会使用到swap,但swap速度比真实内存的速度要慢的多,当你电脑用到swap的时候,说明你内存不够了,需要加内存!
也就是Swap对应的used大于0时。
3.内存信息(型号、大小、速率等)-dmidecode??
参考
https://blog.csdn.net/guohaosun/article/details/82184578
https://my.oschina.net/iblackangel/blog/884652
4.查看内存的插槽数,已经使用多少插槽.每条内存多大??
dmidecode|grep -A5 “Memory Device”|grep Size|grep -v Range
需要管理员权限才能查看?
root@csrc-Precision-7920-Tower:~# dmidecode|grep -A5 "Memory Device"|grep Size|grep -v Range
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
gv100的机器插了8个16g的内存条==128g的内存--一共可以放24个
2.4 CPU的参数-购买选择:主频核心缓存内存
1.主频率越高越好:
在处理器的世界里,用时钟周期(CPU周期)作为最小的时间单位,好比我们日常生活使用秒来做时间单位一样。处理器的时钟周期是主频率的倒数,主频率越高,时钟周期越小。CPU每进行一次指令操作的时间为一个机器周期,而机器周期是由多个时钟周期组成的,每完成一个指令操作又需要若干个机器周期。从这个承前启后的关系中可以看出,处理器的频率越高,最终完成一个指令操作的时间就越小,形成了人们所说的“运行速度更快”的效果。
2.制程越小越好:
CPU的内部电路是蚀刻在一块晶圆上的,晶圆上面集成了十几亿个最基本的电子元器件,包括电阻、电容、晶体管。制程越小,同一块晶圆上容纳的电子元器件就越多,各个器件之间的距离就越近,电容器的漏电流越小,这部分的效率就越高。晶体管做得越小,它的导通电压和导通电阻越小,发热量就越小,效率越高。总体来看,制程越小,处理器效率越高,功耗就越低。
3.核心线程越多越好:
核心数通俗说就是内核的个数,但它们绝不是简单的堆叠,用“分身”来形容较为贴切。同一时间,有多个进程(程序)要处理,CPU不会直接去处理进程,而是运行该进程中的一个线程,通过线程从Windows系统获得CPU的权限让自己运行起来。一个进程包含一个或多个线程,单核单线程CPU只能逐个去处理线程和进程,处理不完的在后面列队等候,处理时间就要更多。因此多核多线程的CPU在处理多个程序时有明显优势。
4.多级缓存越大越好:
什么是缓存呢?它是CPU和内存之间的缓冲区,为什么要缓冲呢?是因为内存的存储和读取的速度远远跟不上CPU,为了解决这一巨大落差,增加了缓存作为连接的桥梁。缓存分为一级、二级和三级,做成多级缓存是因为一级缓存难以做大,需要继续增加二级和三级。二级和三级缓存的速度比一级的慢,但是容量是可以逐级增大的。一级缓存已经尽可能做到最大,因此现在已经很少提及一级缓存,而是直接提三级缓存,这也是越大越好。
5.内存类型:
每款CPU都支持一种或多种内存类型,用户需要关注的是内存的频率、通道数,通道越多,频率越高,数据交换越快。最大内存,限定了一款CPU能支持的内存容量。对于一些吃内存明显的任务,比如图像渲染、大数据分析等,内存容量必须足够大。即使一时用不着那么多内存,将来也可以扩展,也是越大越好。
参考:https://baijiahao.baidu.com/s?id=1628802536457597817&wfr=spider&for=pc
2.5 CPU的缓存的解释??
1.关系:cpu—缓存—内存(16GB)-主频—硬盘
2.cpu缓存:它是位于CPU与内存之间的临时存储器,它的容量比内存小的多,但是交换速度却比内存要快得多
3.特点:缓存越大越好,高端CPU自带更大的缓存
4.缓存分为一级、二级和三级,做成多级缓存是因为一级缓存难以做大,需要继续增加二级和三级。二级和三级缓存的速度比一级的慢,但是容量是可以逐级增大的。一级缓存已经尽可能做到最大,因此现在已经很少提及一级缓存,而是直接提三级缓存,这也是越大越好。
一个正常水平的CPU,只有几MB或者更大的十几MB的缓存,但是这么一点儿缓存,所发挥的作用可是巨大的。你看当一个CPU访问你系统内存当中的东西的时候,它通常会将其存储到自己的缓存当中,并用一些很复杂的算法来“猜测”下一步需要的数据或指令是什么,然后将其从系统内存中抓取到缓存中。因为这些“猜测”不是完全正确的,CPU会遇到“缓存未命中”的情况,意味着它不能在自己的缓存中,找到需要的数据,所以必须直接访问系统内存,这样就会拖慢系统速度了。
不过很幸运,现在处理器已经能很好地决定在自己的缓存中放什么了,它们一般能达到80%以上的“缓存命中率”。这意味着大部分时间,你的CPU都只是直接处理缓存中的数据,而不用去访问相对更慢的系统内存了。
2.6 8核、6核、4核、双核CPU是什么意思??
参考:https://blog.csdn.net/he_jian1/article/details/41208915
看看自己的windows是什么情况?
这个是4核4线程的CPU,如果商家给你看设备管理器里面的,系统的设备管理器一般都只能看到线程数,看不到核心数,这里值得大家注意。我们在设备管理器看看我们的CPU的状况,如图:
通常情况下,会显示线程数,而不是核心数,比如:4核8线程的CPU,在电脑里面“设备管理器”----“处理器”-----里面会显示8个CPU来,所以,有一些商家把双核的当4核卖,因为4核的CPU要比双核的CPU贵一些。所以,大家购买电脑的时候,一定要使用软件多测试一下,你电脑硬件的信息。好了,赶快检测一下你得CPU,看是什么样的性能。
2.7 CPU的几GHz是什么含义
参考:https://blog.csdn.net/lilele12211104/article/details/78730409
结论:主频越高是越好,但不代表速度就一定快,速度和CPU的其他参数也有关系。
主频主要决定每个时钟周期所需要的时间。
主频:在电子技术中,脉冲信号是一个按一定电压幅度,一定时间间隔连续发出的脉冲信号。脉冲信号之间的时间间隔称为周期;而将在单位时间(如1秒)内所产生的脉冲个数称为频率。频率是描述周期性循环信号(包括脉冲信号)在单位时间内所出现的脉冲数量多少的计量名称;频率的标准计量单位是Hz(赫)。电脑中的系统时钟就是一个典型的频率相当精确和稳定的脉冲信号发生器。频率在数学表达式中用“f”表示,其相应的单位有:Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。计算脉冲信号周期的时间单位及相应的换算关系是:s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒),其中:1s=1000ms,1 ms=1000μs,1μs=1000ns。
CPU的主频,即CPU内核工作的时钟频率(CPU Clock Speed)。通常所说的某某CPU是多少兆赫的,而这个多少兆赫就是“CPU的主频”。很多人认为CPU的主频就是其运行速度,其实不然。CPU的主频表示在CPU内数字脉冲信号震荡的速度,与CPU实际的运算能力并没有直接关系。主频和实际的运算速度存在一定的关系,但目前还没有一个确定的公式能够定量两者的数值关系,因为CPU的运算速度还要看CPU的流水线的各方面的性能指标(缓存、指令集,CPU的位数等等)。由于主频并不直接代表运算速度,所以在一定情况下,很可能会出现主频较高的CPU实际运算速度较低的现象。比如AMD公司的AthlonXP系列CPU大多都能以较低的主频,达到英特尔公司的Pentium 4系列CPU较高主频的CPU性能,所以AthlonXP系列CPU才以PR值的方式来命名。因此主频仅是CPU性能表现的一个方面,而不代表CPU的整体性能。 它是CPU运算速度的单位,cpu的运算速度单位有MHz、GHz,其中GHz=1024MHz,像P41.7G,就表示CPU的运算速度是1700000000次/秒。 那AMD 3600+:主频2000MHz,总线频率:1000MHz,核心数量:双核心,商家报价:440 至 575元.
2.8 gv100机器的参数
1.查看CPU型号
root@csrc-Precision-7920-Tower:/home/leicheng#
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
32 Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
分析:
核心数量:八核心
线程数量 十六线程
主频:3.2GHz--这是cpu的频率,内存的频率比这个慢,所以需要缓存(24.75MB)的存在
动态加速频率 3.7GHz
超频 3.7 GHz
热设计功耗(TDP) 130W
插槽类型 FCLGA3647
2.服务器型号
root@csrc-Precision-7920-Tower:/home/leicheng# dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product"
Manufacturer: Dell Inc.
Product Name: Precision 7920 Tower
3.操作系统
root@csrc-Precision-7920-Tower:/home/leicheng# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
4.查看CPU统计信息
root@csrc-Precision-7920-Tower:/home/leicheng# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
Stepping: 4
CPU MHz: 1263.384
CPU max MHz: 3700.0000
CPU min MHz: 1200.0000
BogoMIPS: 6400.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 1024K
L3 cache: 25344K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
5.查看CPU型号
root@csrc-Precision-7920-Tower:/home/leicheng#
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
32 Intel(R) Xeon(R) Gold 6134 CPU @ 3.20GHz
6.查看物理CPU个数
(base) root@csrc95-Precision-T7610:~# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
2
7.查看每个物理CPU中core的个数(即核数)
(base) root@csrc95-Precision-T7610:~# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 8
8.查看逻辑CPU的个数
(base) root@csrc95-Precision-T7610:~# cat /proc/cpuinfo| grep "processor"| wc -l
32
9.128=8个*16g的内存
root@csrc-Precision-7920-Tower:/home/leicheng# sudo dmidecode -t memory | grep Size
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
Size: 16384 MB
Size: No Module Installed
一共24个卡槽,用了8个
10.
root@csrc-Precision-7920-Tower:/home/leicheng# free -m
total used free shared buff/cache available
Mem: 128436 1899 97795 17 28741 125482
Swap: 2047 0 2047
3 pycharm快捷键、常用设置、配置管理??
https://blog.csdn.net/pipisorry/article/details/39909057
4 数据标准化/归一化normalization??
https://blog.csdn.net/pipisorry/article/details/52247379
概率论:均值、方差与协方差矩阵
https://blog.csdn.net/pipisorry/article/details/48788671