Linux系统磁盘管理

这里写目录标题

    • Linux系统磁盘管理
    • 磁盘容量检查
    • 磁盘分区
      • fdisk分区
      • gdisk分区
    • 磁盘格式化
    • 磁盘挂载
      • 临时挂载磁盘
      • 永久挂载磁盘
      • 卸载挂载磁盘
    • 交换分区SWAP
      • 创建swapfile
      • 格式化swap分区
      • 检测当前swap分区情况
      • 开启新建的SWAP分区
      • 关闭新建的swap分区
    • 生产磁盘故障案例

Linux系统磁盘管理

在这里插入图片描述

磁盘容量检查

使用df命令查看磁盘容量,不加参数以k为单位:

df -i   //查看inode使用情况
df -h   //以G或者T或者M人性化方式显示
df -T   //查看文件类型

//使用df命令查看磁盘,下面分别介绍每列什么含义
[root@localhost ~]# df -h
//设备名称         //文件类型 磁盘大小 已用大小 可用大小 使用百分比  挂载点
[root@zyq ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                 tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs                 tmpfs     1.6G  9.1M  1.6G   1% /run
/dev/mapper/rhel-root xfs        17G  1.2G   16G   8% /
/dev/sda1             xfs      1014M  184M  831M  19% /boot
tmpfs                 tmpfs     791M     0  791M   0% /run/user/0


使用lsblk查看分区情况:

[root@zyq ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda             8:0    0   20G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   19G  0 part 
  ├─rhel-root 253:0    0   17G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sr0            11:0    1  8.4G  0 rom

使用du命令查看目录或者文件的容量,不加参数以k为单位:

du -sh /opt  //人性化输出显示大小
-s:列出总和
-h:人性化显示容量信息
[root@zyq ~]# du -sh /opt/
32K	/opt/
[root@zyq ~]# 

磁盘分区

分区之前, 需要先给虚拟机添加一块磁盘,以便于我们做后续的实验vmware虚拟机,请按如下进行操作:

1.找到对应虚拟主机点击右键, 选择设置
2.在硬件向导里面点击添加按钮, 在硬件类型中选中“硬盘”, 点击下一步
3.磁盘类型选择默认, 然后创建新虚拟磁盘, 调整大小(不要勾选立即分配空间)
4.最后点击下一步, 完成即可

分区工具有fdisk和gdisk,当硬盘小于2T的时候我们应该用fdisk来分区,而当硬盘大于2T的时候则应用gdisk来进行分区

fdisk分区

//生产分区建议: 如无特殊需求, 直接使用整个磁盘即可, 无需分区
//学习分区建议:1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)      

fdisk -l         --->查看磁盘分区详细信息
[root@zyq ~]# fdisk  /dev/sdb
Command (m for help): m //输入m列出常用的命令
Command action
   a   toggle a bootable flag   //切换分区启动标记
   b   edit bsd disklabel     //编辑sdb磁盘标签
   c   toggle the dos compatibility flag    //切换dos兼容模式
   d   delete a partition     //删除分区
   l   list known partition types   //显示分区类型
   m   print this menu      //显示帮助菜单
   n   add a new partition  //新建分区
   o   create a new empty DOS partition table   //创建新的空白分区表
   p   print the partition table       //显示分区表的信息
   q   quit without saving changes  //不保存退出
   s   create a new empty Sun disklabel //创建新的Sun磁盘标签
   t   change a partition's system id   //修改分区ID,可以通过l查看id
   u   change display/entry units       //修改容量单位,磁柱或扇区
   v   verify the partition table       //检验分区表
   w   write table to disk and exit     //保存退出
   x   extra functionality (experts only)   //拓展功能


//创建主分区
Command (m for help): n //新建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)  //主分区
   e   extended //扩展分区
Select (default p): p   //选择主分区
Partition number (1-4, default 1):  //默认回车
First sector (2048-2097151, default 2048): //默认扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M //分配50MB


//创建扩展分区
Command (m for help): n //新建分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e   //创建扩展分区
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151):    //默认划分所有空间给扩展分区


//创建逻辑分区
Command (m for help): n //新建分区
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l   //创建逻辑分区
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M  
//分配100MB空间

//查看分区创建
Command (m for help): p
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      104447       51200   83  Linux
/dev/sdb2          104448     2097151      996352    5  Extended
/dev/sdb5          106496      311295      102400   83  Linux

//保存分区
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

//检查磁盘是否是MBR分区方式
[root@zyq ~]# fdisk -l /dev/sdb|grep type
Disk label type: dos

//安装parted, 刷新内核立即生效,无需重启
[root@zyq ~]# yum -y install parted
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use subscription-manager to register.

Last metadata expiration check: 0:04:05 ago on Mon 10 Jul 2023 05:24:54 PM CST.
Package parted-3.5-2.el9.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@zyq ~]# partprobe /dev/sdb
[root@zyq ~]#

gdisk分区

//安装gdisk工具
[root@zyq ~]# yum -y install gdisk

[root@localhost ~]# gdisk /dev/sdb
Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: +500M
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.


//检查磁盘是否是gpt格式
[root@zyq /]# fdisk /dev/sdb -l|grep type
Disk label type: gpt

//安装parted, 刷新内核立即生效,无需重启
[root@localhost ~]# yum -y install parted
[root@localhost ~]# partprobe /dev/sdb

磁盘格式化

使用mkfs命令格式化磁盘,创建文件系统

//mkfs常用的选项有
-b  //设定数据区块占用空间大小,目前支持1024、2048、4096 bytes每个块。
-t  //用来指定什么类型的文件系统,可以是ext3,ext4, xfs
-i  //设定inode的大小
-N  //设定inode数量,防止Inode数量不够导致磁盘不足
-L  //预设该分区的标签label

//格式化整个sdb磁盘为ext4文件系统
[root@zyq ~]# mkfs.ext4  /dev/sdb1

//也可以使用-t指定方式创建ext4文件系统
[root@zyq ~]# mkfs -t ext4  /dev/sdb1

//也可以格式化sdb1分区为xfs文件系统
[root@zyq ~]# mkfs.xfs  /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1368, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

磁盘挂载

在上面的内容中讲到了磁盘的分区和格式化, 那么格式化完了后, 如何使用, 这就涉及到了挂载这块磁盘

挂载分区前需要创建挂载点, 挂载点以目录形式出现
如果往挂载点目录写入数据, 实际上会写入到该分区
挂载点建议是空目录, 不是也不影响挂载分区的使用,但是会隐藏原有的文件

临时挂载磁盘

命令:mount挂载磁盘,实质为文件系统指定访问入口
mount -t       //指定文件系统挂载分区,如ext3,ext4, xfs
mount -a       //重新读取/etc/fstab配置文件的所有分区
mount -o       //指定挂载参数

//fstab被损坏情况下,让只读文件系统可写(正常情况下不使用)
[root@zyq ~]#mount -o rw,remount /  

//挂载/dev/sdb1至db1目录
[root@zyq ~]# mkdir /sdb
[root@zyq ~]# mount -t xfs /dev/sdb1 /sdb/

永久挂载磁盘

在这里插入图片描述

//使用blkid命令获取各分区的UUID
[root@zyq ~]# blkid |grep "sdb1"
/dev/sdb1: UUID="8508596e-367a-42b7-88e7-14f11caec1d5" TYPE="xfs" PARTUUID="6b755989-5ce3-d047-91d0-aa60bb8b6760"

//使用UUID挂载磁盘sdb1分区至于db1, 临时挂载
[root@localhost ~]# mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1

//也可以把下面这行写到/etc/fstab中,永久挂载, 开机自动挂载
[root@localhost ~]# tail -1 /etc/fstab    
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs  defaults 0  0

//加载fstab配置文件, 同时检测语法是否有错误
[root@zyq ~]# mount –a
[root@zyq ~]# df -Th 
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                 tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs                 tmpfs     1.6G  9.1M  1.6G   1% /run
/dev/mapper/rhel-root xfs        17G  1.2G   16G   8% /
/dev/sda1             xfs      1014M  184M  831M  19% /boot
tmpfs                 tmpfs     791M     0  791M   0% /run/user/0
/dev/sdb1             xfs       495M   29M  466M   6% /sdb
已挂载成功

fstab配置文件介绍:

[root@localhost ~]# vim /etc/fstab

//分区标识(UUID或设备名)                    挂载点 文件类型    挂载参数    不检查 不备份
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1     xfs     defaults    0     0

//挂载参数, 可写fstab配置文件, 也可以mount时使用-o参数指定
参数              参数意义                               系统默认值
async           系统每隔一段时间把内存数据写入磁盘中,
sync            时时同步内存和磁盘中数据;
suid,nosuid     允许/不允许分区有suid属性                suid
rw,ro           可以指定文件系统是只读(ro)或可写(rw)       rw
exec,noexec     允许/不允许可执行文件执行,不要挂载根分区    exec
user,nouser     允许/不允许root外的其他用户挂载分区        nouser
auto,noauto     开机自动挂载/不自动挂载                    auto
default         默认文件系统挂载设置 rw, suid, dev, exec, auto, nouser, async

//加载所有配置
[root@zyq ~]# mount -a

卸载挂载磁盘

umount -lf  //强制卸载挂载

//使用站点目录卸载
[root@localhost ~]# umount /db1
//使用设备名卸载/dev/sdb1
[root@localhost ~]# umount /dev/sdb1
[root@zyq ~]# df -Th 
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                 tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs                 tmpfs     1.6G  9.1M  1.6G   1% /run
/dev/mapper/rhel-root xfs        17G  1.2G   16G   8% /
/dev/sda1             xfs      1014M  184M  831M  19% /boot
tmpfs                 tmpfs     791M     0  791M   0% /run/user/0
/dev/sdb1             xfs       495M   29M  466M   6% /sdb
[root@zyq ~]# 
[root@zyq ~]# umount /sdb 
[root@zyq ~]# df -Th 
Filesystem            Type      Size  Used Avail Use% Mounted on
devtmpfs              devtmpfs  4.0M     0  4.0M   0% /dev
tmpfs                 tmpfs     3.9G     0  3.9G   0% /dev/shm
tmpfs                 tmpfs     1.6G  9.1M  1.6G   1% /run
/dev/mapper/rhel-root xfs        17G  1.2G   16G   8% /
/dev/sda1             xfs      1014M  184M  831M  19% /boot
tmpfs                 tmpfs     791M     0  791M   0% /run/user/0
[root@zyq ~]#

//umount不能卸载的情况
[root@zyq sdb]# umount /sdb  
umount: /db1: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1)
       
//如上情况解决办法有两种, 切换至其他目录 或使用'-l'选项强制卸载    
[root@zyq sdb]# umount -l /sdb

交换分区SWAP

交换分区SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用。

交换分区一般指定虚拟内存的大小为实际内存的1.5–2倍。如果实际内存超过8GB,可以直接划分16GB给虚拟内存即可,如果虚拟内存不够用的情况,须增加一个虚拟磁盘,由于不能给原有的磁盘重新分区,所以可以选择新建。

创建swapfile

[root@zyq ~]# dd if=/dev/zero of=/opt/newdisk bs=1M count=1024
//if:指定源  一般写/dev/zero
//of:指定目标
//bs:定义块大小
//count:数量

格式化swap分区

[root@zyq ~]# mkswap -f /opt/newdisk 
mkswap: /opt/newdisk: insecure permissions 0644, fix with: chmod 0600 /opt/newdisk
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=9b953910-786e-46be-8dab-9552d39eb78d

检测当前swap分区情况

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         133         325           6         517         646
Swap:          2047           0        2047     //原来分区是2G

开启新建的SWAP分区

[root@zyq ~]# swapon /opt/newdisk
swapon: /opt/newdisk: insecure permissions 0644, 0600 suggested.
[root@zyq ~]# free -m
               total        used        free      shared  buff/cache   available
Mem:            7909         483        6409           9        1262        7426
Swap:           3071           0        3071  //新多出来1G

关闭新建的swap分区

[root@zyq ~]# swapon /opt/newdisk
swapon: /opt/newdisk: insecure permissions 0644, 0600 suggested.
[root@zyq ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            976         133         325           6         517         646
Swap:          2047           0        2047     //还原到没有增加虚拟磁盘
//创建swap分区并且持久化使用

例子: 给系统新增加一个交换分区(swap)

考试题目:一般是要求新建一个分区,并且把分区作为swap分区使用

查看内存和交换分区的使用情况
# free -m
             total       used       free     shared    buffers     cached
Mem:          1841        613       1227         16          0        258
-/+ buffers/cache:        354       1486
Swap:            0          0          0  <--- 没有交换分区

# swapon -s  也能用该命令查看,只是默认也是没有交换分区所有没有输出

# fdisk  -l /dev/sdb
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     6293503     2097152   83  Linux  <---准备把该分区作为交换分区



1、新建一个分区,并且把分区类型更改为82 
    新分区我们在上面的练习已经完成了,所以本例子不用分区,而是需要修改该分区的类型

# fdisk  /dev/sdb

命令(输入 m 获取帮助):l  列出所有支持的分区类型对应的id

命令(输入 m 获取帮助):t  修改分区id
分区号 (1-5,默认 5):2  修改第2个分区
Hex 代码(输入 L 列出所有代码):82  修改成id为82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     6293503     2097152   82  Linux swap / Solaris <---修改成功


命令(输入 m 获取帮助):w

强烈建议: 对分区做了修改后都刷新一下
# partprobe  /dev/sdb


2、把sdb2格式化为交换分区
# mkswap  /dev/sdb2
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=ba08eb90-2003-44e6-9769-9a9351aebb05


3、启动交换分区
# swapon /dev/sdb2  或者  # swanon -a  启动所有交换分区


查看
# swapon -s
文件名             类型      大小  已用  权限
/dev/sdb2                               partition   2097148 0   -1


4、持久化保存交换分区的使用
# blkid /dev/sdb2
/dev/sdb2: UUID="ba08eb90-2003-44e6-9769-9a9351aebb05" TYPE="swap" 

# vim /etc/fstab 
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=cb3299d6-16e0-4644-9686-27907eefb8f3 /boot                   xfs     defaults        0 0
UUID=ba08eb90-2003-44e6-9769-9a9351aebb05  swap         swap    defaults  0 0

生产磁盘故障案例

Inode被占满,导致磁盘有可用的剩余空间也无法继续使用

[root@zyq ~]# dd if=/dev/zero of=/opt/newdisk bs=1k count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00186216 s, 563 MB/s
[root@zyq ~]# mkfs.ext4  -i 1024 /opt/newdisk 
mke2fs 1.46.5 (30-Dec-2021)

Filesystem too small for a journal
Discarding device blocks: done                            
Creating filesystem with 1024 1k blocks and 1024 inodes

Allocating group tables: done                            
Writing inode tables: done                            
[root@zyq ~]# mkdir /date
[root@zyq ~]# mount -t ext4 -o loop /opt/newdisk  /date/

//inode被占满
[root@zyq ~]# touch /date/{1..30000}
touch: cannot touch `19997': No space left on device
touch: cannot touch `19998': No space left on device
touch: cannot touch `19999': No space left on device
touch: cannot touch `20000': No space left on device
....
//inode被占满,剩余block也是无法继续使用
[root@zyq ~]# df -i|grep data
/opt/newdisk      1024  1024       0  100% /data
[root@zyq ~]# df -h|grep data
/opt/newdisk    891K   34K  806K   5% /data

Block空间即将被占满, 但删除大文件也没有释放空间

假设现在线上正在运行Nginx服务, Nginx产生的日志已经达到了20个G, 磁盘眼看就看沾满了, 请问不重启Nginx的方式如何处理

//是会删除文件, 但Nginx持续占用着文件, 所以空间并不会被释放
rm -f access.log

//正确做法如下, 清空该文件即可释放文件内容
> access.log

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/486869.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode热题100】108. 将有序数组转换为二叉搜索树

一.题目要求 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡二叉搜索树。 二.题目难度 简单 三.输入样例 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#x…

Python - epub2txt

文章目录 关于 epub2txt安装 命令行使用查看 options常见用法示例1 Python 代码调用manualabsl.app:absl.logging:epub2txt.__main__:absl.flags: 关于 epub2txt Convert epub file to txt github : https://github.com/ffreemt/epub2txt 安装 pip install epub2txt命令行使…

这个极其适合新手的Facebook聊单模式!必学!极度友好!

基于现在的网络流量来说&#xff0c;Facebook不仅仅是个人的社交圣地&#xff0c;更加是很多卖家的黄金市场&#xff0c;背后蕴藏着无限的商业潜力。对于刚刚踏入电商领域的新手而言&#xff0c;Facebook这个平台是个很好地展示产品、吸引客户&#xff0c;并实现销售的地方。 …

【刷题】滑动窗口精通 — Leetcode 30. 串联所有单词的子串 | Leetcode 76. 最小覆盖子串

送给大家一句话&#xff1a; 充满着欢乐与斗争精神的人们&#xff0c;永远带着欢乐&#xff0c;欢迎雷霆与阳光。 —— 赫胥黎 滑动窗口精通 前言Leetcode 30. 串联所有单词的子串题目描述算法思路 Leetcode 76. 最小覆盖子串题目描述算法思路 Thanks♪(&#xff65;ω&#xf…

WorkPlus AI助理,为企业提供智能化客户服务,助力企业发展与竞争力

在当今竞争激烈的商业环境中&#xff0c;提供优质高效的客户服务是企业取得成功的关键。而AI智能客服的崛起&#xff0c;以其卓越的性能和功能&#xff0c;助力企业提升客户服务体验。WorkPlus AI助理作为一款领先的解决方案&#xff0c;能够实现智能化客户服务&#xff0c;满足…

TTS通用播放库技术设计

TTS音频播放库技术设计 目录介绍 01.整体介绍概述 1.1 项目背景介绍1.2 遇到问题1.3 基础概念介绍1.4 设计目标1.5 问题答疑和思考 02.技术调研说明 2.1 语音播放方案2.2 TTS技术分析2.3 语音合成技术2.4 方案选择说明2.5 方案设计思路2.6 文本生成音频 03.系统TTS使用实践 3…

如何在CentOS7部署openGauss管理系统并实现固定公网地址连接

文章目录 推荐前言1. Linux 安装 openGauss2. Linux 安装cpolar3. 创建openGauss主节点端口号公网地址4. 远程连接openGauss5. 固定连接TCP公网地址6. 固定地址连接测试 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不…

抖音小店怎么做?起店流程大分享,可收藏!

大家好&#xff0c;我是电商糖果 会开店&#xff0c;但是不会起店。 这是不是很多电商商家遇到难题&#xff0c;尤其是刚开始做抖音小店的商家。 店开好几月也没有流量&#xff0c;不出单。 这里糖果就来分享一下&#xff0c;我这边自己总结的起店流程。 不敢自夸是最好的…

类和对象三部曲(one)

都说C语言是面向过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用来逐步解决问题。 拿洗衣服来举例&#xff0c;C关注的是一个过程&#xff1a; 那么C是什么呢&#xff1f; 面向对象的编程语言。 面向对象对象指什么&#xff1f; 象棋里的对象么&#xff1f;…

大模型时代5个最顶级的向量数据库

大家好&#xff0c;数字时代推动我们进入了由人工智能和机器学习为主导的时代&#xff0c;向量数据库已经成为存储、搜索和分析高维数据向量的不可或缺的工具&#xff0c;本文将介绍5个顶级的向量数据库。 1.Chroma 使用ChromaDB构建LLM应用程序 Chroma是开源嵌入数据库。Chr…

医疗行业对SDWAN专线的需求

随着信息技术的发展和医疗行业的数字化转型&#xff0c;SDWAN&#xff08;软件定义广域网&#xff09;作为一种新兴的网络解决方案&#xff0c;越来越受到医疗机构的重视和应用。医疗行业对SDWAN专线的需求主要体现在以下几个方面&#xff1a; 1、高度可靠的网络连接 医疗机构…

YOLOv9改进策略:卷积魔改 | DCNv4更快收敛、更高速度、更高性能,效果秒杀DCNv3、DCNv2等 ,助力检测 | CVPR2024

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a; DCNv4来自CVPR2024 的论文&#xff0c;它不仅收敛速度明显快于DCNv3&#xff0c;而且正向速度提高了3倍以上。这一改进使DCNv4能够充分利用其稀疏特性&#xff0c;成为最快的通用核心视觉算子之一。 改进结构…

CDP7 下载安装 Flink Percel 包

下载链接&#xff1a;https://www.cloudera.com/downloads/cdf/csa-trial.html 点击后选择版本&#xff0c; 然后点击download now&#xff0c;会有一个协议&#xff0c;勾选即可&#xff0c;然后就有三个文件列表&#xff0c; 我这里是已经注册登录的状态&#xff0c;如果没…

继承和多态(2)(多态部分)

提前讲的重要知识点 一个类在没有父类的情况下默认有一个父类为Object类。 而当在有父类情况下&#xff0c;如果你那父类没有父类&#xff0c;则其父类的父类默认为object类&#xff0c;所以即使一个类有父类&#xff0c;其内部还是有object类。 object类都是隐藏起来的&…

谈一谈BEV和Transformer在自动驾驶中的应用

谈一谈BEV和Transformer在自动驾驶中的应用 BEV和Transformer都这么火&#xff0c;这次就聊一聊。 结尾有资料连接 一 BEV有什么用 首先&#xff0c;鸟瞰图并不能带来新的功能&#xff0c;对规控也没有什么额外的好处。 从鸟瞰图这个名词就可以看出来&#xff0c;本来摄像头…

msvcp110.dll丢失修复办法

在计算机使用过程中&#xff0c;我们经常会遇到一些扩展名为.dll的文件&#xff0c;这些文件是动态链接库文件&#xff0c;用于提供程序运行时所需的函数和资源。其中&#xff0c;msvcp110.dll文件是一个非常重要的动态链接库文件&#xff0c;它属于Microsoft Visual C 2012 Re…

学习数据结构:算法的时间复杂度和空间复杂度

一、算法的复杂度 衡量一个算法的好坏&#xff0c;一般是从时间和空间两个维度来衡量的&#xff0c;即时间复杂度和空间复杂度。 时间复杂度主要衡量一个算法的运行快慢&#xff0c;而空间复杂度主要衡量一个算法运行所需要的额外空间。 算法的时间复杂度 算法中的基本操作的…

Earth Hour地球一小时

在刚刚过去的周六&#xff08;2024-03-23&#xff09;是个特殊的日子&#xff0c;你知道是什么日子吗&#xff1f; 对&#xff0c;是地球一小时 活动日。 地球一小时”是让全球关心自然、热心环保的人可以共同发声的平台。 当地时间2024年3月23日晚8点30分&#xff0c;“地球…

【保姆级讲解Redis基础命令】

&#x1f308;&#x1f308;&#x1f308;个人主页:程序员不想敲代码啊&#x1f308;&#x1f308;&#x1f308; &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c…

YZ系列工具之YZ09: VBA_Excel之读心术

我给VBA下的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套一部VBA手册&#xff0c;教程分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的…