同事说「把共享盘映射一下」,另一台机器上的运维说「这个日志用文件映射读,别一次读进内存」。同一个词,指的是两件完全不同的事,找设置的时候经常找错地方。

一、映射网络驱动器

指的是把局域网里另一台机器的共享文件夹,挂成自己电脑上的一个盘符。资源管理器里点「映射网络驱动器」,选个 Z 盘,地址填两个反斜杠加对方 IP 再加共享名,勾上登录时重新连接,以后开机自动挂上。

命令行等价的做法是 net use,后面跟盘符和共享路径。断开用 net use Z: /delete,加 /persistent:no 可以不保留重连。连不上先 ping 通不通,再在地址栏直接输路径试能不能打开,能打开说明是凭据问题,去凭据管理器删掉旧账号重新输。

常见报错是「不允许同一用户使用多个用户名与服务器建立多个连接」,把已有连接断开,或者改用 IP 而不是主机名访问,通常就过了。

还有一种情况是登录后自动映射失败,进桌面手动点一下又能连。多半是网络比登录慢,或者凭据没存进凭据管理器,勾上记住凭据能省掉每次输入。

还有个经典坑:映射好的盘符,在右键以管理员身份运行的程序里看不到,因为那用的是另一份登录令牌。要在提升权限的程序里访问,得在管理员命令行里再 net use 一次,或者直接用完整网络路径。遇到程序提示找不到 Z 盘,先确认它是不是以管理员身份跑的。

二、内存映射文件

这是编程里的概念,把磁盘上的文件映射进进程的地址空间,读写像操作内存一样,由系统负责刷盘。适合几百 MB 的日志、索引文件,随机读取比一次性读进内存快,也不占那么多堆空间。

Windows 上是 CreateFileMapping 加 MapViewOfFile,Linux 上是 mmap。要注意两点:映射期间文件被别的进程截断,访问会直接崩;写完不解除映射就杀掉进程,数据可能没落盘。

怎么快速分辨

对方说的是盘符、共享、账号密码,就是网络驱动器;说的是指针、偏移量、只读映射,就是内存映射。搞错方向,配置翻一晚上也翻不到。