当前位置: 首页 > news >正文

查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息

在这里插入图片描述

文章目录

  • 摘要
    • 1. 查询CPU使用率命令:top -bn1 | grep \"Cpu(s)\" | awk '{split($0,arr,\" \");print 100-arr[8]}'
    • 2. 查询内存命令(单位:G):top -bn1 | grep \"KiB Mem\" | awk '{split($0,arr,\" \");print arr[4]/1024/1024,arr[8]/1024/1024}'
    • 3.查询磁盘命令:df -h / | tail -n +2 | grep -v "Filesystem" | awk '{split($0,arr," ");print arr[2],arr[3],arr[5]}'
    • 4.查询网络IO命令:ifstat
    • 5.查询文件服务器中数据库空间占用大小命令:df -h /home/ems/3rdparty/mysql/data
    • 6.查询每秒存储队列信息命令:vmstat -d|grep sda|awk '{print $11}'
    • 7.查询IOPS信息命令:iostat -d|grep sda|awk '{print $3" "$4}'
    • 8.查询文件系统中磁盘使用情况命令:df -BG
  • 代码

摘要

1. 查询CPU使用率命令:top -bn1 | grep “Cpu(s)” | awk ‘{split($0,arr," ");print 100-arr[8]}’

[root@unm5800 ~]# top -bn1 | grep "Cpu(s)" | awk '{split($0,arr," ");print 100-arr[8]}'
8.7

2. 查询内存命令(单位:G):top -bn1 | grep “KiB Mem” | awk ‘{split($0,arr," ");print arr[4]/1024/1024,arr[8]/1024/1024}’

[root@unm5800 ~]# top -bn1 | grep "KiB Mem" | awk '{split($0,arr," ");print arr[4]/1024/1024,arr[8]/1024/1024}'
15.1709 9.70124

3.查询磁盘命令:df -h / | tail -n +2 | grep -v “Filesystem” | awk ‘{split($0,arr," ");print arr[2],arr[3],arr[5]}’

[root@unm5800 ~]# df -h / | tail -n +2 | grep -v "Filesystem" | awk '{split($0,arr," ");print arr[2],arr[3],arr[5]}'
296G 153G 55%

4.查询网络IO命令:ifstat

[root@unm5800 ~]# ifstat
#kernel
Interface        RX Pkts/Rate    TX Pkts/Rate    RX Data/Rate    TX Data/Rate  RX Errs/Drop    TX Errs/Drop    RX Over/Rate    TX Coll/Rate  
lo                10764K 0        10764K 0      18446744070881M 0      18446744070881M 0      0 0             0 0             0 0             0 0      
enp91s0f0          9181K 0        19534K 0      18446744071947M 0       220464K 0      0 0             0 0             0 0             0 0      
enp91s0f1              0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
eno1              609746 0         1161K 0       128777K 0       940272K 0      0 4546          0 0             0 0             0 0      
enp91s0f2              0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
eno2                   0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
enp91s0f3              0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
enp0s20f0u1u6      31847 0             0 0         2316K 0             0 0      0 0             0 0             0 0             0 0      
virbr0                 0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
docker0                0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
br-070bd1b4b466        0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
br-08fd260a964c        0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
br-67b9049e39d6     1494 0          1494 0         59760 0        170316 0      0 0             0 0             0 0             0 0      
br-e3d56b9f14ab        0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
br-014f940f0996        0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
vethf216528            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
veth930c642            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
veth5bb57ee            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
veth154692a            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
vethc30949a         1494 0          1494 0         80676 0        170316 0      0 0             0 0             0 0             0 0      
veth821f11e            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
veth6bb839e            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0      
veth9671271            0 0             0 0             0 0             0 0      0 0             0 0             0 0             0 0

这些字段是用于描述ifstat命令输出结果中的网络接口的信息。下面是对这些字段的介绍:

  • ifstat <网络接口名称>
  • Interface(接口):网络接口的名称。
  • RX Pkts/Rate(接收数据包数/速率):接收的数据包数量和速率。
  • TX Pkts/Rate(发送数据包数/速率):发送的数据包数量和速率。
  • RX Data/Rate(接收数据量/速率):接收的数据量(以字节为单位)和速率。
  • TX Data/Rate(发送数据量/速率):发送的数据量(以字节为单位)和速率。
  • RX Errs/Drop(接收错误/丢弃):接收过程中产生的错误和丢弃的数据包数量。
  • TX Errs/Drop(发送错误/丢弃):发送过程中产生的错误和丢弃的数据包数量。
  • RX Over/Rate(接收溢出/速率):接收缓冲区溢出次数和速率。
  • TX Coll/Rate(发送冲突/速率):发送时发生碰撞的次数和速率。 这些字段提供了关于网络接口的

详细统计信息,包括数据包数量、数据量、速率、错误情况、丢弃情况、溢出情况和碰撞情况等。通过观察这些字段的数值,可以了解网络接口的使用情况、性能状况和可能存在的问题。

5.查询文件服务器中数据库空间占用大小命令:df -h /home/ems/3rdparty/mysql/data

[root@unm5800 ~]# df -h /home/ems/3rdparty/mysql/data
文件系统        容量    已用    可用   已用%   挂载点
/dev/sda1       296G  153G  128G   55%         /

6.查询每秒存储队列信息命令:vmstat -d|grep sda|awk ‘{print $11}’

[root@unm5800 ~]# vmstat -d|grep sda|awk '{print $11}'
28415
vmstat -d命令
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors      ms  total merged sectors      ms    cur    sec
sda   6321733 2992979 326537984 192604637 16335233 11611252 558374392 397953929      0 159463
dm-0  2017377      0 126201641 106958407 7052267      0 129722136 163552294      0  85875
dm-1  4396348      0 35174488 92541369 10793514      0 86348112 1687958320      0  21982
dm-2  3184149      0 165098377 75003459 6532775      0 342299704 396611035      0  89434

根据您提供的 vmstat -d 命令输出,磁盘统计信息中显示了以下设备:

  • sda:这是一个磁盘设备的名称,通常代表物理磁盘。它可能是你的系统上的主要硬盘。
  • dm-0、dm-1、dm-2:这些是表示设备映射(Device Mapper)的块设备名称。在 Linux 系统中,dm- 表示逻辑卷(Logical Volume)或软件 RAID(Redundant Array of Independent Disks)。
    Device Mapper 是 Linux 内核提供的一个模块,用于进行逻辑卷管理、软件 RAID、加密存储等操作。这些逻辑卷或软件 RAID 经过设备映射后,可以在操作系统中当作普通块设备使用。
    因此,vmstat -d 命令输出显示了系统上的物理磁盘 sda 和经过设备映射的逻辑卷或软件 RAID dm-0、dm-1、dm-2 的磁盘统计信息。

根据您提供的 vmstat -d 命令输出中的 sec 值为 159463,它表示每秒的输入/输出操作数。这个值是计算从系统启动到当前时刻的累积值。

在 vmstat -d 命令的输出中,sec 表示系统每秒钟处理的输入和输出操作的数量。这包括从磁盘读取的数据量、向磁盘写入的数据量以及其他可能的输入/输出操作(如网络数据传输等)。
因此,sec 值代表每秒的输入/输出操作数,既包括读取操作也包括写入操作。

7.查询IOPS信息命令:iostat -d|grep sda|awk ‘{print $3" "$4}’

[root@unm5800 ~]# iostat -d|grep sda|awk '{print $3" "$4}'
220.44 3219.56
iostat -d  是一个 Linux 命令,用于显示块设备的输入/输出统计信息。该命令会提供有关磁盘和存储设备的各种性能指标。
Linux 3.10.0-1160.el7.x86_64 (localhost.localdomain)    2023年08月16日  _x86_64_        (4 CPU)
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              17.50       126.18       215.67  163243972  279015092
dm-0              7.00        48.77        50.08   63099436   64789492
dm-1             11.74        13.59        33.37   17587244   43174056
dm-2              7.51        63.79       132.21   82525552  171049324

运行 iostat -d 命令会显示如下信息:

  • Device(设备):列出了系统中的每个块设备,如硬盘驱动器、固态硬盘等。
  • tps(每秒传输请求数):表示每秒传输到设备的 I/O 请求的数量。包括读请求和写请求。
  • kB_read/s(每秒读取数据量):表示每秒从设备读取的数据量。
  • kB_wrtn/s(每秒写入数据量):表示每秒写入设备的数据量。
  • kB_read(读取的总数据量):表示自系统启动以来从设备读取的总数据量。
  • kB_written(写入的总数据量):表示自系统启动以来写入设备的总数据量。

这些指标可以帮助你了解块设备的性能状况,包括每秒的传输请求数量、读写速度以及设备的总体活动情况。

8.查询文件系统中磁盘使用情况命令:df -BG

[root@unm5800 ~]# df -BG
文件系统       1G-块  已用  可用 已用% 挂载点
devtmpfs          8G    0G    8G    0% /dev
tmpfs             8G    1G    8G    1% /dev/shm
tmpfs             8G    1G    7G   11% /run
tmpfs             8G    0G    8G    0% /sys/fs/cgroup
/dev/sda1       296G  153G  128G   55% /
overlay         296G  153G  128G   55% /var/lib/docker/overlay2/a42d4eb53de76f220eadbacbeecf268c53bc130615f5faf1b0472801bcae4492/merged
overlay         296G  153G  128G   55% /var/lib/docker/overlay2/59b75e561bd8b29088b503779940edbd2a0ad5518994e55a01db625407dfcf12/merged
overlay         296G  153G  128G   55% /var/lib/docker/overlay2/c7a3fd966d533eff6c199de317f6e815d6a1147665a7d81370fa71f4320df410/merged
overlay         296G  153G  128G   55% /var/lib/docker/overlay2/e3c1fe4e379a56b230e40d07d17cce6ba0330aebf3d25e85aa5d9e09ed2ee30a/merged
overlay         296G  153G  128G   55% /var/lib/docker/overlay2/2a5ea591d02955647e5f6c9e566b5c6a99d6ebed817bdc4c410e7b627c690622/merged
shm               1G    0G    1G    0% /var/lib/docker/containers/d6ad7cbc285e3e8d15477c891aded41533f6032c0a46297123a013ef35c12bd6/mounts/shm
shm               1G    0G    1G    0% /var/lib/docker/containers/f3ac596eb8e7a8a0454c8a90f3c1b23e52c5aab23911b335cbba3f5ed7f98574/mounts/shm
shm               1G    0G    1G    0% /var/lib/docker/containers/ccc00bbe149d20d0af4b8ccc581eebed79488742b06c21a93d1e4854d1ff0c83/mounts/shm
shm               1G    1G    1G    1% /var/lib/docker/containers/78f5e497c3104bd442776a272aac2d08abc1a2cdd8e8b917b44ee49e3b7f407a/mounts/shm
shm               1G    0G    1G    0% /var/lib/docker/containers/19835c87c59e5f6bb3f96f929b70076dc3d418089afe80aec63a7692a994b546/mounts/shm
tmpfs             2G    0G    2G    0% /run/user/0

代码

package com.util;import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import util.bean.MonitorPo;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.DecimalFormat;public class StringUtilsTests2 {private static Logger log = LoggerFactory.getLogger(StringUtilsTests2.class);@Testvoid parseString1() {MonitorPo monitorPo = new MonitorPo();InputStream in = null;BufferedReader read = null;Process pro = null;String cmd = "";String[] cmds = null;try {getCPUInfo(cmd, cmds, monitorPo, pro, in, read);getMemoryInfo(cmd, cmds, monitorPo, pro, in, read);getDiskInfo(cmd, cmds, monitorPo, pro, in, read);getNetworkResourceInformation(cmd, cmds, monitorPo, pro, in, read);getUsageOfTheMysqlDiskSpaceInTheFileSystem(cmd, cmds, monitorPo, pro, in, read);getUsageOfTheDiskSpaceInTheFileSystem(cmd, cmds, monitorPo, pro, in, read);getIopsResourceInformation(cmd, cmds, monitorPo, pro, in, read);getStoresQueueInputOrOutputOperandsPerSecond(cmd, cmds, monitorPo, pro, in, read);} catch (IOException|InterruptedException e) {log.error("-realTimeMonitoring-Exception:{}", e);} finally {try {if (pro != null)pro.destroy();if (read != null)read.close();if (in != null)in.close();} catch (IOException e) {log.error("-realTimeMonitoring-finally-IOException:{}", e);}}}//查询CPUprivate static void getCPUInfo(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {cmd = "top -bn1 | grep \"Cpu(s)\" | awk '{split($0,arr,\" \");print 100-arr[8]}'";String result = getSingleResult(cmd, cmds, pro, in, read);if (!StringUtils.isEmpty(result)) {monitorPo.setCpu(Double.valueOf(Double.parseDouble(result)));} else {monitorPo.setCpu(Double.valueOf(0.0D));}}//查询内存private static void getMemoryInfo(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {cmd = "top -bn1 | grep \"KiB Mem\" | awk '{split($0,arr,\" \");print arr[4]/1024/1024,arr[8]/1024/1024}'";String result = getSingleResult(cmd, cmds, pro, in, read);String[] arr = result.split(" ");double memoryTotal = Double.parseDouble(arr[0]);double memoryUsed = Double.parseDouble(arr[1]);DecimalFormat df = new DecimalFormat("#.##");double memoryUseRatio = Double.parseDouble(df.format(memoryUsed / memoryTotal * 100.0D));monitorPo.setMemoryTotal(Double.valueOf(memoryTotal));monitorPo.setMemory(Double.valueOf(memoryUsed));monitorPo.setMemoryUseRatio(Double.valueOf(memoryUseRatio));}//查询磁盘private static void getDiskInfo(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {cmd = "df -h / | tail -n +2 | grep -v \"Filesystem\" | awk '{split($0,arr,\" \");print arr[2],arr[3],arr[5]}'";String result = getSingleResult(cmd, cmds, pro, in, read);String[] arr = result.split(" ");monitorPo.setDiskTotal(Double.valueOf(Double.parseDouble(arr[0].replaceAll("G", ""))));monitorPo.setDiskUse(Double.valueOf(Double.parseDouble(arr[1].replaceAll("G", ""))));monitorPo.setDiskUseRatio(Double.valueOf(Double.parseDouble(arr[2].replaceAll("%", ""))));}//查询网络IO速率public static void getNetworkResourceInformation(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {log.info("-getNetworkResourceInformation");cmd = "ifstat";cmds = new String[] { "/bin/sh", "-c", cmd };log.info("-cmd:{}", cmd);pro = Runtime.getRuntime().exec(cmds);if (pro.waitFor() == 0) {in = pro.getInputStream();read = new BufferedReader(new InputStreamReader(in));String line;while ((line = read.readLine()) != null) {log.info("-line:{}", line);if (line.startsWith("eno") || line.startsWith("eth")) {String[] split = line.split("\\s+");String networkRxRate = split[1];String networkTxRate = split[3];monitorPo.setNetworkRxRate(Double.valueOf(Double.parseDouble(networkRxRate)));monitorPo.setNetworkTxRate(Double.valueOf(Double.parseDouble(networkTxRate)));break;}}}}//查询文件服务器中数据库空间占用大小public static void getUsageOfTheMysqlDiskSpaceInTheFileSystem(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {log.info("-getUsageOfTheMysqlDiskSpaceInTheFileSystem");cmd = "df -h /home/ems/3rdparty/mysql/data";cmds = new String[] { "/bin/sh", "-c", cmd };log.info("-cmd:{}", cmd);pro = Runtime.getRuntime().exec(cmds);if (pro.waitFor() == 0) {in = pro.getInputStream();read = new BufferedReader(new InputStreamReader(in));String line;while ((line = read.readLine()) != null) {log.info("-line:{}", line);if (line.startsWith("/dev")) {String[] split = line.split("\\s+");monitorPo.setDatabaseDiskSpaceIsUsed(split[2]);}}}}//查询每秒存储队列信息public static void getStoresQueueInputOrOutputOperandsPerSecond(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {log.info("-getStoresQueueInputOrOutputOperandsPerSecond");cmd = "vmstat -d|grep sda|awk '{print $11}'";cmds = new String[] { "/bin/sh", "-c", cmd };log.info("-cmd:{}", cmd);pro = Runtime.getRuntime().exec(cmds);if (pro.waitFor() == 0) {in = pro.getInputStream();read = new BufferedReader(new InputStreamReader(in));String line;while ((line = read.readLine()) != null) {log.info("-line:{}", line);monitorPo.setQueueOperands(Double.valueOf(Double.parseDouble(line)));}}}//查询IOPS信息public static void getIopsResourceInformation(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {log.info("-getIopsResourceInformation");cmd = "iostat -d|grep sda|awk '{print $3\" \"$4}'";cmds = new String[] { "/bin/sh", "-c", cmd };log.info("-cmd:{}", cmd);pro = Runtime.getRuntime().exec(cmds);if (pro.waitFor() == 0) {in = pro.getInputStream();read = new BufferedReader(new InputStreamReader(in));String line;while ((line = read.readLine()) != null) {log.info("-line:{}", line);String[] split = line.split("\\s+");String IOPSKbRead = split[0];String IOPSKbWrite = split[1];monitorPo.setIopsKbRead(Double.valueOf(Double.parseDouble(IOPSKbRead)));monitorPo.setIopsKbWrite(Double.valueOf(Double.parseDouble(IOPSKbWrite)));}}}//查询文件系统中磁盘使用情况public static void getUsageOfTheDiskSpaceInTheFileSystem(String cmd, String[] cmds, MonitorPo monitorPo, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {log.info("-getUsageOfTheDiskSpaceInTheFileSystem");cmd = "df -BG";cmds = new String[] { "/bin/sh", "-c", cmd };log.info("-cmd:{}", cmd);pro = Runtime.getRuntime().exec(cmds);if (pro.waitFor() == 0) {in = pro.getInputStream();read = new BufferedReader(new InputStreamReader(in));String line;while ((line = read.readLine()) != null) {log.info("-line:{}", line);if (line.endsWith("/")) {String[] split = line.split("\\s+");String used = split[2];if (used.contains("G"))used = used.replace("G", "");monitorPo.setDiskSpaceIsUsed(Double.valueOf(Double.parseDouble(used)));}}}}//java执行linux命令public static String getSingleResult(String cmd, String[] cmds, Process pro, InputStream in, BufferedReader read) throws IOException, InterruptedException {cmds = new String[] { "/bin/sh", "-c", cmd };log.info("-cmd:{}", cmd);pro = Runtime.getRuntime().exec(cmds);String line = "";in = pro.getInputStream();read = new BufferedReader(new InputStreamReader(in));if (pro.waitFor() == 0 && (line = read.readLine()) != null) {log.info("-line:{}", line);return line;}return null;}
}

相关文章:

查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息

文章目录 摘要1. 查询CPU使用率命令&#xff1a;top -bn1 | grep \"Cpu(s)\" | awk {split($0,arr,\" \");print 100-arr[8]}2. 查询内存命令&#xff08;单位&#xff1a;G&#xff09;&#xff1a;top -bn1 | grep \"KiB Mem\" | awk {split($…...

外观模式 rust和java的实现

文章目录 外观模式介绍实现javarustrust仓库 外观模式 外观模式&#xff08;Facade Pattern&#xff09;隐藏系统的复杂性&#xff0c;它为子系统中的一组接口提供一个统一的高层接口&#xff0c;使得这些接口更加容易使用。外观模式通过封装子系统内部的复杂性&#xff0c;提…...

uniapp-hubildx配置

1.配置浏览器 &#xff08;1&#xff09;运行》运行到浏览器配置》配置web服务器 &#xff08;2&#xff09;选择浏览器安装路径 &#xff08;3&#xff09;浏览器安装路径&#xff1a; &#xff08;3.1&#xff09; 右键点击图标》属性 &#xff08;3.2&#xff09;选择目标&…...

Nginx基础篇:Nginx搭建、Nginx反向代理、文件服务器部署配置。

Nginx Linux系统安装以及反向代理的配置 简介优点nginx 环境安装常用Nginx 命令nginx 文件服务器搭建 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点…...

什么是TDR(威胁检测与响应)

网络安全是被动和主动方法的混合体。过去&#xff0c;企业往往局限于被动的方法&#xff0c;随着合规性和安全策略越来越受到重视&#xff0c;主动方法也越来越受到关注。与其他行业相比&#xff0c;网络安全是高度动态的&#xff0c;网络安全团队采用任何可以帮助他们优化的新…...

30、pytest入门内容回顾

整体结构 解读与实操 pytest30讲主要从四个方面由浅入深的进行解读&#xff0c; 开始 讲解了pytest的概述&#xff0c;安装前的准备工作&#xff08;python,pycharm,pytest&#xff09;&#xff0c;运行方式&#xff08;命令行&#xff09;&#xff0c;断言&#xff08;assert…...

2023年 - 我的程序员之旅和成长故事

2023年 - 我的程序员之旅和成长故事 &#x1f525; 1.前言 大家好&#xff0c;我是Leo哥&#x1fae3;&#x1fae3;&#x1fae3;&#xff0c;今天咱们不聊技术&#xff0c;聊聊我自己&#xff0c;聊聊我从2023年年初到现在的一些经历和故事&#xff0c;我也很愿意我的故事分…...

JMH性能测试

一、JMH JMH&#xff0c;全称Java Microbenchmark Harness&#xff08;微基准测试框架&#xff09;&#xff0c;是专门用于Java代码微基准测试的一套测试工具API&#xff0c;是由Java虚拟机团队开发的&#xff0c;一般用于代码的性能调优。 BenchMark又叫做基准测试&#xff0c…...

超完整的mysql安装配置方法(包含idea和navicat连接mysql,并实现建表)

mysql安装配置方法 1、下载mysql2、解压到指定的安装目录3、配置初始化文件my.ini4、配置用户变量和系统变量5、初始化mysql6、安装mysql服务并启动修改密码7、使用idea连接mysql8、使用Navicat可视化工具连接mysql&#xff0c;并实现新建数据库&#xff0c;新建表 1、下载mysq…...

通过仿真理解完整的阵列信号噪声模型

概要 噪声对无线电设备的信号接收会造成影响,是通信、雷达、导航、遥感等工程应用领域中的关键考虑因素。通常认为阵列合成能够提升信噪比,但忽略了这一论断的前提,即不同通道引入的噪声互不相关。但实际应用中,接收的噪声不仅仅包含信道引入的不相关噪声,还包含从外界环…...

问题:数组对象去重

问题&#xff1a;数组对象去重 var arr [{name: ‘a’,id: 1}, {name: ‘a’,id: 2}, {name: ‘b’,id: 3}, {name: ‘c’,id: 4}, {name: ‘c’,id: 6}, {name: ‘b’,id: 6}, {name: ‘d’,id: 7}]; 对数组对象name进行去重处理&#xff0c; 结果显示为&#xff1a; [{name…...

前端:让一个div悬浮在另一个div之上

使用 CSS 的 position 属性和 z-index 属性 首先&#xff0c;将第二个 div 元素的 position 属性设为 relative 或 absolute。这样可以让该元素成为一个定位元素&#xff0c;使得后代元素可以相对于它进行定位。 然后&#xff0c;将要悬浮的 div 元素的 position 属性设为 ab…...

千锋 Vue 详细笔记整理

视频笔记是根据B站 千锋 涛哥 - SpringBootvue前后端分离项目《锋迷商城》实战课-完结版 进行整理的 笔记可上 gitee仓库 自取 千锋 Vue 笔记整理 一、vue 的简介1.1 使用 JQuery 的复杂性问题1.2 VUE 简介1.2.1 前端框架1.2.2 MVVM 二、 vue 入门使用2.1 vue 的引入2.2 入门案…...

uniapp实战 —— 骨架屏

1. 自动生成骨架屏代码 在微信开发者工具中&#xff0c;预览界面点击生成骨架屏 确定后&#xff0c;会自动打开骨架屏代码文件 pages\index\index.skeleton.wxml 2. 将骨架屏代码转换为vue文件 在项目中新建文件 src\pages\index\components\skeleton.vue 将pages\index\index…...

【数据仓库-10】-- 数据仓库、数据湖和湖仓一体对比

目录 1 数据仓库与数据库的对比 2 数据湖与数据仓库的对比 3 数据仓库、数据湖和湖仓一体...

单臂路由与三层交换机

单臂路由 划分VLAN后同一VLAN的计算机属于同一个广播域&#xff0c;同一VLAN的计算机之间的通信是不成问题的。然而&#xff0c;处于不同VLAN的计算机即使是在同一交换机上&#xff0c;它们之间的通信也必须使用路由器。 图&#xff08;a&#xff09;是一种实现VLAN间路由的方…...

免费的数据采集软件,最新免费的几款数据采集软件【2024】

在当今数字化时代&#xff0c;数据是企业决策和业务发展的关键。而如何高效获取数据成为许多企业和研究机构的关注焦点。本文将深入探讨数据采集软件的种类。帮助大家选择最适合自己需求的数据采集工具。 数据采集软件种类 在众多数据采集软件中&#xff0c;有一类强大而多样…...

nodejs微信小程序+python+PHP北京地铁票务APP-计算机毕业设计推荐 -安卓

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…...

zabbix 进阶

zabbix的字段发现机制&#xff1a; zabbix客户端主动和服务端联系&#xff0c;将自己的地址和端口发送服务端实现字段添加监控主机。 客户端是主动一方。 缺点&#xff1a;自定义网段中主机数量太多&#xff0c;登记耗时会很久&#xff0c;而且这个自动发现机制不是很稳定。…...

【性能测试】Jmeter 配置元件(一):计数器

Jmeter 配置元件&#xff08;一&#xff09;&#xff1a;计数器 在 Jmeter 中&#xff0c;通过函数 ${__counter(,)} 可以实现每次加 1 1 1 的计数效果。但如果步长不为 1 1 1&#xff0c;则要利用到我们的计数器。 函数作用${__counter(,)}计数器&#xff0c;每次加 1${__d…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...

二维FDTD算法仿真

二维FDTD算法仿真&#xff0c;并带完全匹配层&#xff0c;输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...