linux常用命令

内存分析工具pmap

pmap工具是linux的工具,能够查看进程用了多少内存,还能分析内存用在上面环节,对于一些长期占用内存居高不下的程序可以分析其行为,命令简单,信息简洁

使用简介 

复制代码
 4 root@VM-0-14-centos ~]# pmap -h
 5 
 6 Usage:
 7  pmap [options] PID [PID ...]
 8 
 9 Options:
10  -x, --extended              show details
11  -X                          show even more details
12             WARNING: format changes according to /proc/PID/smaps
13  -XX                         show everything the kernel provides
14  -c, --read-rc               read the default rc
15  -C, --read-rc-from=<file>   read the rc from file
16  -n, --create-rc             create new default rc
17  -N, --create-rc-to=<file>   create new rc to file
18             NOTE: pid arguments are not allowed with -n, -N
19  -d, --device                show the device format
20  -q, --quiet                 do not display header and footer
21  -p, --show-path             show path in the mapping
22  -A, --range=<low>[,<high>]  limit results to the given range
23 
24  -h, --help     display this help and exit
25  -V, --version  output version information and exit
26 
27 For more details see pmap(1).
复制代码

示例

返回列说明。

  • Address: 内存开始地址
  • Kbytes: 占用内存的字节数(KB)
  • RSS: 保留内存的字节数(KB)
  • Dirty: 脏页的字节数(包括共享和私有的)(KB)
  • Mode: 内存的权限:read、write、execute、shared、private (写时复制)
  • Mapping: 占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
  • Offset: 文件偏移
  • Device: 设备名 (major:minor)

示例 ‘pmap -d 30242’

查看进程

复制代码
 1 root@VM-0-14-centos ~]# top
 2 top - 15:31:56 up 115 days,  5:34,  1 user,  load average: 0.05, 0.03, 0.05
 3 Tasks:  82 total,   1 running,  81 sleeping,   0 stopped,   0 zombie
 4 %Cpu(s):  0.5 us,  0.5 sy,  0.0 ni, 98.8 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
 5 KiB Mem :  3880948 total,  1491616 free,   197496 used,  2191836 buff/cache
 6 KiB Swap:  4194300 total,  4031436 free,   162864 used.  3357968 avail Mem
 7 
 8   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 9 30242 root      20   0 1137252  82100  11936 S   0.7  2.1   1115:13 YDService
10  5586 root      20   0  161876   2228   1560 R   0.3  0.1   0:00.01 top
复制代码

展示进程内存 - 设备信息

复制代码
  1 [root@VM-0-14-centos ~]# pmap -d 30242
  2 30242:   /usr/local/qcloud/YunJing/YDEyes/YDService
  3 Address           Kbytes Mode  Offset           Device    Mapping
  4 0000000000400000   19416 r-x-- 0000000000000000 0fd:00001 YDService
  5 00000000018f5000    6520 rw--- 00000000012f5000 0fd:00001 YDService
  6 0000000001f53000     540 rw--- 0000000000000000 000:00000   [ anon ]
  7 0000000002206000  181088 rw--- 0000000000000000 000:00000   [ anon ]
  8 000000c000000000   65536 rw--- 0000000000000000 000:00000   [ anon ]
  9 00007f42d4445000       4 ----- 0000000000000000 000:00000   [ anon ]
 10 00007f42d4446000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 11 00007f42d4c46000       4 ----- 0000000000000000 000:00000   [ anon ]
 12 00007f42d4c47000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 13 00007f42d5447000       4 ----- 0000000000000000 000:00000   [ anon ]
 14 00007f42d5448000    8448 rw--- 0000000000000000 000:00000   [ anon ]
 15 00007f42d5c88000       4 ----- 0000000000000000 000:00000   [ anon ]
 16 00007f42d5c89000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 17 00007f42d6489000    4096 rw-s- 0000000000000000 000:00007   [ anon ]
 18 00007f42d6889000       4 ----- 0000000000000000 000:00000   [ anon ]
 19 00007f42d688a000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 20 00007f42d708a000       4 ----- 0000000000000000 000:00000   [ anon ]
 21 00007f42d708b000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 22 00007f42d788b000       4 ----- 0000000000000000 000:00000   [ anon ]
 23 00007f42d788c000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 24 00007f42d808c000       4 ----- 0000000000000000 000:00000   [ anon ]
 25 00007f42d808d000    8448 rw--- 0000000000000000 000:00000   [ anon ]
 26 00007f42d88cd000       4 ----- 0000000000000000 000:00000   [ anon ]
 27 00007f42d88ce000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 28 00007f42d90ce000       4 ----- 0000000000000000 000:00000   [ anon ]
 29 00007f42d90cf000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 30 00007f42d98cf000       4 ----- 0000000000000000 000:00000   [ anon ]
 31 00007f42d98d0000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 32 00007f42da0d0000       4 ----- 0000000000000000 000:00000   [ anon ]
 33 00007f42da0d1000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 34 00007f42da8d1000       4 ----- 0000000000000000 000:00000   [ anon ]
 35 00007f42da8d2000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 36 00007f42db0d2000       4 ----- 0000000000000000 000:00000   [ anon ]
 37 00007f42db0d3000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 38 00007f42db8d3000       4 ----- 0000000000000000 000:00000   [ anon ]
 39 00007f42db8d4000    8448 rw--- 0000000000000000 000:00000   [ anon ]
 40 00007f42dc114000       4 ----- 0000000000000000 000:00000   [ anon ]
 41 00007f42dc115000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 42 00007f42dc915000       4 ----- 0000000000000000 000:00000   [ anon ]
 43 00007f42dc916000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 44 00007f42dd116000       4 ----- 0000000000000000 000:00000   [ anon ]
 45 00007f42dd117000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 46 00007f42dd917000      88 r-x-- 0000000000000000 0fd:00001 libresolv-2.17.so
 47 00007f42dd92d000    2044 ----- 0000000000016000 0fd:00001 libresolv-2.17.so
 48 00007f42ddb2c000       4 r---- 0000000000015000 0fd:00001 libresolv-2.17.so
 49 00007f42ddb2d000       4 rw--- 0000000000016000 0fd:00001 libresolv-2.17.so
 50 00007f42ddb2e000       8 rw--- 0000000000000000 000:00000   [ anon ]
 51 00007f42ddb30000      20 r-x-- 0000000000000000 0fd:00001 libnss_dns-2.17.so
 52 00007f42ddb35000    2048 ----- 0000000000005000 0fd:00001 libnss_dns-2.17.so
 53 00007f42ddd35000       4 r---- 0000000000005000 0fd:00001 libnss_dns-2.17.so
 54 00007f42ddd36000       4 rw--- 0000000000006000 0fd:00001 libnss_dns-2.17.so
 55 00007f42ddd37000      48 r-x-- 0000000000000000 0fd:00001 libnss_files-2.17.so
 56 00007f42ddd43000    2044 ----- 000000000000c000 0fd:00001 libnss_files-2.17.so
 57 00007f42ddf42000       4 r---- 000000000000b000 0fd:00001 libnss_files-2.17.so
 58 00007f42ddf43000       4 rw--- 000000000000c000 0fd:00001 libnss_files-2.17.so
 59 00007f42ddf44000    1432 rw--- 0000000000000000 000:00000   [ anon ]
 60 00007f42de0aa000       4 ----- 0000000000000000 000:00000   [ anon ]
 61 00007f42de0ab000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 62 00007f42de8ab000       4 ----- 0000000000000000 000:00000   [ anon ]
 63 00007f42de8ac000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 64 00007f42df0ac000       4 ----- 0000000000000000 000:00000   [ anon ]
 65 00007f42df0ad000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 66 00007f42df8ad000       4 ----- 0000000000000000 000:00000   [ anon ]
 67 00007f42df8ae000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 68 00007f42e00ae000       4 ----- 0000000000000000 000:00000   [ anon ]
 69 00007f42e00af000   44100 rw--- 0000000000000000 000:00000   [ anon ]
 70 00007f42e2bc0000  263680 ----- 0000000000000000 000:00000   [ anon ]
 71 00007f42f2d40000       4 rw--- 0000000000000000 000:00000   [ anon ]
 72 00007f42f2d41000  293564 ----- 0000000000000000 000:00000   [ anon ]
 73 00007f4304bf0000       4 rw--- 0000000000000000 000:00000   [ anon ]
 74 00007f4304bf1000   36692 ----- 0000000000000000 000:00000   [ anon ]
 75 00007f4306fc6000       4 rw--- 0000000000000000 000:00000   [ anon ]
 76 00007f4306fc7000    4068 ----- 0000000000000000 000:00000   [ anon ]
 77 00007f43073c0000       4 ----- 0000000000000000 000:00000   [ anon ]
 78 00007f43073c1000    8192 rw--- 0000000000000000 000:00000   [ anon ]
 79 00007f4307bc1000    1800 r-x-- 0000000000000000 0fd:00001 libc-2.17.so
 80 00007f4307d83000    2048 ----- 00000000001c2000 0fd:00001 libc-2.17.so
 81 00007f4307f83000      16 r---- 00000000001c2000 0fd:00001 libc-2.17.so
 82 00007f4307f87000       8 rw--- 00000000001c6000 0fd:00001 libc-2.17.so
 83 00007f4307f89000      20 rw--- 0000000000000000 000:00000   [ anon ]
 84 00007f4307f8e000      84 r-x-- 0000000000000000 0fd:00001 libgcc_s-4.8.5-20150702.so.1
 85 00007f4307fa3000    2044 ----- 0000000000015000 0fd:00001 libgcc_s-4.8.5-20150702.so.1
 86 00007f43081a2000       4 r---- 0000000000014000 0fd:00001 libgcc_s-4.8.5-20150702.so.1
 87 00007f43081a3000       4 rw--- 0000000000015000 0fd:00001 libgcc_s-4.8.5-20150702.so.1
 88 00007f43081a4000    1028 r-x-- 0000000000000000 0fd:00001 libm-2.17.so
 89 00007f43082a5000    2044 ----- 0000000000101000 0fd:00001 libm-2.17.so
 90 00007f43084a4000       4 r---- 0000000000100000 0fd:00001 libm-2.17.so
 91 00007f43084a5000       4 rw--- 0000000000101000 0fd:00001 libm-2.17.so
 92 00007f43084a6000     932 r-x-- 0000000000000000 0fd:00001 libstdc++.so.6.0.19
 93 00007f430858f000    2048 ----- 00000000000e9000 0fd:00001 libstdc++.so.6.0.19
 94 00007f430878f000      32 r---- 00000000000e9000 0fd:00001 libstdc++.so.6.0.19
 95 00007f4308797000       8 rw--- 00000000000f1000 0fd:00001 libstdc++.so.6.0.19
 96 00007f4308799000      84 rw--- 0000000000000000 000:00000   [ anon ]
 97 00007f43087ae000      92 r-x-- 0000000000000000 0fd:00001 libpthread-2.17.so
 98 00007f43087c5000    2044 ----- 0000000000017000 0fd:00001 libpthread-2.17.so
 99 00007f43089c4000       4 r---- 0000000000016000 0fd:00001 libpthread-2.17.so
100 00007f43089c5000       4 rw--- 0000000000017000 0fd:00001 libpthread-2.17.so
101 00007f43089c6000      16 rw--- 0000000000000000 000:00000   [ anon ]
102 00007f43089ca000      28 r-x-- 0000000000000000 0fd:00001 librt-2.17.so
103 00007f43089d1000    2044 ----- 0000000000007000 0fd:00001 librt-2.17.so
104 00007f4308bd0000       4 r---- 0000000000006000 0fd:00001 librt-2.17.so
105 00007f4308bd1000       4 rw--- 0000000000007000 0fd:00001 librt-2.17.so
106 00007f4308bd2000       8 r-x-- 0000000000000000 0fd:00001 libdl-2.17.so
107 00007f4308bd4000    2048 ----- 0000000000002000 0fd:00001 libdl-2.17.so
108 00007f4308dd4000       4 r---- 0000000000002000 0fd:00001 libdl-2.17.so
109 00007f4308dd5000       4 rw--- 0000000000003000 0fd:00001 libdl-2.17.so
110 00007f4308dd6000     136 r-x-- 0000000000000000 0fd:00001 ld-2.17.so
111 00007f4308e08000     512 rw--- 0000000000000000 000:00000   [ anon ]
112 00007f4308e88000     512 ----- 0000000000000000 000:00000   [ anon ]
113 00007f4308f08000       4 rw--- 0000000000000000 000:00000   [ anon ]
114 00007f4308f09000     508 ----- 0000000000000000 000:00000   [ anon ]
115 00007f4308f88000     408 rw--- 0000000000000000 000:00000   [ anon ]
116 00007f4308ff4000      12 rw--- 0000000000000000 000:00000   [ anon ]
117 00007f4308ff7000       4 r---- 0000000000021000 0fd:00001 ld-2.17.so
118 00007f4308ff8000       4 rw--- 0000000000022000 0fd:00001 ld-2.17.so
119 00007f4308ff9000       4 rw--- 0000000000000000 000:00000   [ anon ]
120 00007ffeb9da0000     276 rw--- 0000000000000000 000:00000   [ stack ]
121 00007ffeb9df1000       8 r-x-- 0000000000000000 000:00000   [ anon ]
122 ffffffffff600000       4 r-x-- 0000000000000000 000:00000   [ anon ]
123 mapped: 1137256K    writeable/private: 489808K    shared: 4096K
复制代码
  1. mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
  2. writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小
  3. shared 表示进程和其他进程共享的内存大小

 

示例 ‘pmap -x 30242’

展示进程内存 - 拓展信息

复制代码
  1 [root@VM-0-14-centos ~]# pmap -x 30242
  2 30242:   /usr/local/qcloud/YunJing/YDEyes/YDService
  3 Address           Kbytes     RSS   Dirty Mode  Mapping
  4 0000000000400000   19416    4964       0 r-x-- YDService  # YDService 代码段
  5 00000000018f5000    6520    2252     112 rw--- YDService  # YDService 数据段
  6 0000000001f53000     540     220     220 rw---   [ anon ] 
  7 0000000002206000  181088   62384   61208 rw---   [ anon ] # YDService 堆(分配的内存)
  8 000000c000000000   65536    3780    3760 rw---   [ anon ]
  9 00007f42d4445000       4       0       0 -----   [ anon ]
 10 00007f42d4446000    8192      20      20 rw---   [ anon ]
 11 00007f42d4c46000       4       0       0 -----   [ anon ]
 12 00007f42d4c47000    8192      12      12 rw---   [ anon ]
 13 00007f42d5447000       4       0       0 -----   [ anon ]
 14 00007f42d5448000    8448      88      88 rw---   [ anon ]
 15 00007f42d5c88000       4       0       0 -----   [ anon ]
 16 00007f42d5c89000    8192      32      32 rw---   [ anon ]
 17 00007f42d6489000    4096    4096    1024 rw-s-   [ anon ]
 18 00007f42d6889000       4       0       0 -----   [ anon ]
 19 00007f42d688a000    8192      20      20 rw---   [ anon ]
 20 00007f42d708a000       4       0       0 -----   [ anon ]
 21 00007f42d708b000    8192      16      16 rw---   [ anon ]
 22 00007f42d788b000       4       0       0 -----   [ anon ]
 23 00007f42d788c000    8192      16      16 rw---   [ anon ]
 24 00007f42d808c000       4       0       0 -----   [ anon ]
 25 00007f42d808d000    8448      68      68 rw---   [ anon ]
 26 00007f42d88cd000       4       0       0 -----   [ anon ]
 27 00007f42d88ce000    8192      32      32 rw---   [ anon ]
 28 00007f42d90ce000       4       0       0 -----   [ anon ]
 29 00007f42d90cf000    8192      32      32 rw---   [ anon ]
 30 00007f42d98cf000       4       0       0 -----   [ anon ]
 31 00007f42d98d0000    8192       0       0 rw---   [ anon ]
 32 00007f42da0d0000       4       0       0 -----   [ anon ]
 33 00007f42da0d1000    8192       0       0 rw---   [ anon ]
 34 00007f42da8d1000       4       0       0 -----   [ anon ]
 35 00007f42da8d2000    8192      32      32 rw---   [ anon ]
 36 00007f42db0d2000       4       0       0 -----   [ anon ]
 37 00007f42db0d3000    8192      32      32 rw---   [ anon ]
 38 00007f42db8d3000       4       0       0 -----   [ anon ]
 39 00007f42db8d4000    8448     156     156 rw---   [ anon ]
 40 00007f42dc114000       4       0       0 -----   [ anon ]
 41 00007f42dc115000    8192      20      20 rw---   [ anon ]
 42 00007f42dc915000       4       0       0 -----   [ anon ]
 43 00007f42dc916000    8192      16      16 rw---   [ anon ]
 44 00007f42dd116000       4       0       0 -----   [ anon ]
 45 00007f42dd117000    8192      12      12 rw---   [ anon ]
 46 00007f42dd917000      88      32       0 r-x-- libresolv-2.17.so
 47 00007f42dd92d000    2044       0       0 ----- libresolv-2.17.so
 48 00007f42ddb2c000       4       4       4 r---- libresolv-2.17.so
 49 00007f42ddb2d000       4       4       4 rw--- libresolv-2.17.so
 50 00007f42ddb2e000       8       0       0 rw---   [ anon ]
 51 00007f42ddb30000      20      12       0 r-x-- libnss_dns-2.17.so
 52 00007f42ddb35000    2048       0       0 ----- libnss_dns-2.17.so
 53 00007f42ddd35000       4       4       4 r---- libnss_dns-2.17.so
 54 00007f42ddd36000       4       4       4 rw--- libnss_dns-2.17.so
 55 00007f42ddd37000      48      20       0 r-x-- libnss_files-2.17.so
 56 00007f42ddd43000    2044       0       0 ----- libnss_files-2.17.so
 57 00007f42ddf42000       4       4       4 r---- libnss_files-2.17.so
 58 00007f42ddf43000       4       4       4 rw--- libnss_files-2.17.so
 59 00007f42ddf44000    1432     356      32 rw---   [ anon ]
 60 00007f42de0aa000       4       0       0 -----   [ anon ]
 61 00007f42de0ab000    8192       0       0 rw---   [ anon ]
 62 00007f42de8ab000       4       0       0 -----   [ anon ]
 63 00007f42de8ac000    8192       8       8 rw---   [ anon ]
 64 00007f42df0ac000       4       0       0 -----   [ anon ]
 65 00007f42df0ad000    8192       8       8 rw---   [ anon ]
 66 00007f42df8ad000       4       0       0 -----   [ anon ]
 67 00007f42df8ae000    8192      28      28 rw---   [ anon ]
 68 00007f42e00ae000       4       0       0 -----   [ anon ]
 69 00007f42e00af000   44100    2376    2376 rw---   [ anon ]
 70 00007f42e2bc0000  263680       0       0 -----   [ anon ]
 71 00007f42f2d40000       4       4       4 rw---   [ anon ]
 72 00007f42f2d41000  293564       0       0 -----   [ anon ]
 73 00007f4304bf0000       4       4       4 rw---   [ anon ]
 74 00007f4304bf1000   36692       0       0 -----   [ anon ]
 75 00007f4306fc6000       4       4       4 rw---   [ anon ]
 76 00007f4306fc7000    4068       0       0 -----   [ anon ]
 77 00007f43073c0000       4       0       0 -----   [ anon ]
 78 00007f43073c1000    8192      32      32 rw---   [ anon ]
 79 00007f4307bc1000    1800     580       0 r-x-- libc-2.17.so
 80 00007f4307d83000    2048       0       0 ----- libc-2.17.so
 81 00007f4307f83000      16      16      12 r---- libc-2.17.so
 82 00007f4307f87000       8       8       8 rw--- libc-2.17.so
 83 00007f4307f89000      20      20      20 rw---   [ anon ]
 84 00007f4307f8e000      84       0       0 r-x-- libgcc_s-4.8.5-20150702.so.1
 85 00007f4307fa3000    2044       0       0 ----- libgcc_s-4.8.5-20150702.so.1
 86 00007f43081a2000       4       0       0 r---- libgcc_s-4.8.5-20150702.so.1
 87 00007f43081a3000       4       0       0 rw--- libgcc_s-4.8.5-20150702.so.1
 88 00007f43081a4000    1028       0       0 r-x-- libm-2.17.so
 89 00007f43082a5000    2044       0       0 ----- libm-2.17.so
 90 00007f43084a4000       4       0       0 r---- libm-2.17.so
 91 00007f43084a5000       4       0       0 rw--- libm-2.17.so
 92 00007f43084a6000     932     156       0 r-x-- libstdc++.so.6.0.19
 93 00007f430858f000    2048       0       0 ----- libstdc++.so.6.0.19
 94 00007f430878f000      32      20      16 r---- libstdc++.so.6.0.19
 95 00007f4308797000       8       8       8 rw--- libstdc++.so.6.0.19
 96 00007f4308799000      84      12      12 rw---   [ anon ]
 97 00007f43087ae000      92      44       0 r-x-- libpthread-2.17.so
 98 00007f43087c5000    2044       0       0 ----- libpthread-2.17.so
 99 00007f43089c4000       4       4       4 r---- libpthread-2.17.so
100 00007f43089c5000       4       4       4 rw--- libpthread-2.17.so
101 00007f43089c6000      16       4       4 rw---   [ anon ]
102 00007f43089ca000      28       0       0 r-x-- librt-2.17.so
103 00007f43089d1000    2044       0       0 ----- librt-2.17.so
104 00007f4308bd0000       4       0       0 r---- librt-2.17.so
105 00007f4308bd1000       4       0       0 rw--- librt-2.17.so
106 00007f4308bd2000       8       0       0 r-x-- libdl-2.17.so
107 00007f4308bd4000    2048       0       0 ----- libdl-2.17.so
108 00007f4308dd4000       4       0       0 r---- libdl-2.17.so
109 00007f4308dd5000       4       0       0 rw--- libdl-2.17.so
110 00007f4308dd6000     136       8       0 r-x-- ld-2.17.so
111 00007f4308e08000     512     328     328 rw---   [ anon ]
112 00007f4308e88000     512       0       0 -----   [ anon ]
113 00007f4308f08000       4       4       4 rw---   [ anon ]
114 00007f4308f09000     508       0       0 -----   [ anon ]
115 00007f4308f88000     408      60      48 rw---   [ anon ]
116 00007f4308ff4000      12       8       8 rw---   [ anon ]
117 00007f4308ff7000       4       4       4 r---- ld-2.17.so
118 00007f4308ff8000       4       4       4 rw--- ld-2.17.so
119 00007f4308ff9000       4       4       0 rw---   [ anon ]
120 00007ffeb9da0000     276      28      28 rw---   [ stack ]
121 00007ffeb9df1000       8       4       0 r-x--   [ anon ]
122 ffffffffff600000       4       0       0 r-x--   [ anon ]
123 ---------------- ------- ------- -------
124 total kB         1137256   82536   69960
复制代码

 

posted @   lem985  阅读(106)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示