导航:首页 > 操作系统 > linux资源限制

linux资源限制

发布时间:2022-06-13 17:22:53

linux主机 为什么有文件数限制

1、创建文件系统时,会将存储介质(磁盘)按照一定的比例,划出一部分区域作为存储文件名(目录名)使用,每个文件(目录)项在linux的ext文件系统中叫做一个inode,每个inode大小是固定的,划出的inode区用完时,就不能再创建文件了,也就是到达了文件最大数目的限制。
其实由于存储介质的容量都是有限的,所以所有的文件系统都有文件数量限制,但可以根据实际使用中大多数文件的大小及数量的具体需求,调整一个文件系统上的文件数限制。
2、另外,Linux主多用户操作系统,为了均衡系统所有用户的需求,对每个用户使用的系统资源也有限制(参考/etc/security/limits.conf),其中就包括每个用户同时打开的文件数、文件尺寸、cpu占用时间、登录数、内存使用限制等。

⑵ linux设置文件的权限

文件的三个最基本的权限是读写执行
r,读,可以读取文件,对目录来说可以列出目录的文件列表
4
w,写,可以修改删除文件,对目录来说可以创建删除文件
2
x,执行,可以执行文件,对目录来说可以cd进入目录
1
注意点:目录上只有执行权限,则可以进入或者穿越此文件夹,但是要访问此文件夹下有读取权限的文件,则必须输入文件名,只有执行权限的文件夹,不能列出目录,也不能删除目录
特殊位,SUID,SGID,stickt-bit位,如果设置了SUID的可执行文件被执行的,文件将以所有者的身份来运行。SGID,意思同SUID,sticky-bit位,尽管其他用户有写权限,但是必须由属主执行删除和移动操作。子目录也只有属主可以操作。
权限设置命令
chmod,-R,递归,s表示SUID或者SGID,t表示stick-bit,
chown,改变用户属主和组,-R递归,加:则是改变组,不加是改变用户,
umask,设置文件默认生成编码,就是创建一个新文件的时候的默认权限,-S查看默认权限。
find,查找文件,<起始目录><选项表达式><条件匹配表达式><动作表达式>
选项表达式,-follow,遇到符号链接则跟踪符号链接。-regextype指定-regex和-iregex使用的正则表达式的类型,-depth,查找子目录之前先查找完当前目录,-mount,不跨越文件系统,-xdev,同-mount,-maxdepth,最大深度查询,
条件匹配表达式,-name
匹配文件名
-iname匹配文件名不区分大小写,
-lname匹配符号链接文件名,
-ilname匹配符号链接文件名不区分大小写,-path路径,-regex,正则匹配,-iregex,正则匹配,不区分大小写,-amin
N查找N分钟之前被访问过的所有文件,-atime
N
查找N天之前被访问的文件,-cmin,和-ctime是文件状态被修改过的(比如权限),-mmin和-mtime是文件内容被修改过的,-uid
N查找uid是N的文件,-gid,查找gid是N的所有的文件,-inum,查找i-node是N的文件,-links
N,查找硬链接为N的文件,-size
N[bcwkMG]按照大小查找,-perm
MODE按照权限查找,
-perm
-MODE,按照最低权限查找,
-anewer
file,查找比file访问时间新的文件,
-cnewer查找比fule新的修改时间的文件,
-newer
file查找比file新的内容修改过的文件,
-fstype指定类型的文件系统,-type指定文件类型,-empty内容为空,-user
NAME,按照用户查找,-group按照组查找,-nouser,文件不属于/etc/passwd中的用户,-nogroup,文件不属于/etc/group中的组
动作表达式,-print,每行一个文件,-print0取消间隔符。
grep
[options]
PATTERN
[FIFL...]所有文本内容,把匹配的行打印出来,-c只显示匹配的次数,-i搜索时不区分大小写,-n匹配行的行号,-v输出不匹配的行,-A同时显示匹配到的行后面的N行,-B匹配输出行前面几行,-C匹配输出行前后各几行,

⑶ 如何灵活运用Linux 进程资源监控和进程限制

你可以使用 mpstat 单独查看每个处理器或者系统整体的活动,可以是每次一个快照或者动态更新。
为了使用这个工具,你首先需要安装 sysstat:
# yum update && yum install sysstat [基于 CentOS 的系统]
# aptitutde update && aptitude install sysstat [基于 Ubuntu 的系统]
# zypper update && zypper install sysstat [基于 openSUSE 的系统]

你可以在 Linux 中学习 Sysstat 和其中的工具 mpstat、pidstat、iostat 和 sar,了解更多和 sysstat 和其中的工具相关的信息。
安装完 mpstat 之后,就可以使用它生成处理器统计信息的报告。
你可以使用下面的命令每隔 2 秒显示所有 CPU(用-P ALL 表示)的 CPU 利用率(-u),共显示3次。
# mpstat -P ALL -u 2 3

示例输出:
Linux 3.19.0-32-generic (tecmint.com) Wednesday 30 March 2016 _x86_64_ (4 CPU)

11:41:07 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:41:09 IST all 5.85 0.00 1.12 0.12 0.00 0.00 0.00 0.00 0.00 92.91
11:41:09 IST 0 4.48 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 94.53
11:41:09 IST 1 2.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 97.00
11:41:09 IST 2 6.44 0.00 0.99 0.00 0.00 0.00 0.00 0.00 0.00 92.57
11:41:09 IST 3 10.45 0.00 1.99 0.00 0.00 0.00 0.00 0.00 0.00 87.56

11:41:09 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:41:11 IST all 11.60 0.12 1.12 0.50 0.00 0.00 0.00 0.00 0.00 86.66
11:41:11 IST 0 10.50 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 88.50
11:41:11 IST 1 14.36 0.00 1.49 2.48 0.00 0.00 0.00 0.00 0.00 81.68
11:41:11 IST 2 2.00 0.50 1.00 0.00 0.00 0.00 0.00 0.00 0.00 96.50
11:41:11 IST 3 19.40 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 79.60

11:41:11 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:41:13 IST all 5.69 0.00 1.24 0.00 0.00 0.00 0.00 0.00 0.00 93.07
11:41:13 IST 0 2.97 0.00 1.49 0.00 0.00 0.00 0.00 0.00 0.00 95.54
11:41:13 IST 1 10.78 0.00 1.47 0.00 0.00 0.00 0.00 0.00 0.00 87.75
11:41:13 IST 2 2.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 97.00
11:41:13 IST 3 6.93 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 92.57

Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
Average: all 7.71 0.04 1.16 0.21 0.00 0.00 0.00 0.00 0.00 90.89
Average: 0 5.97 0.00 1.16 0.00 0.00 0.00 0.00 0.00 0.00 92.87
Average: 1 9.24 0.00 1.16 0.83 0.00 0.00 0.00 0.00 0.00 88.78
Average: 2 3.49 0.17 1.00 0.00 0.00 0.00 0.00 0.00 0.00 95.35
Average: 3 12.25 0.00 1.16 0.00 0.00 0.00 0.00 0.00 0.00 86.59

要查看指定的 CPU(在下面的例子中是 CPU 0),可以使用:
# mpstat -P 0 -u 2 3

示例输出:
Linux 3.19.0-32-generic (tecmint.com) Wednesday 30 March 2016 _x86_64_ (4 CPU)

11:42:08 IST CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11:42:10 IST 0 3.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 0.00 96.50
11:42:12 IST 0 4.08 0.00 0.00 2.55 0.00 0.00 0.00 0.00 0.00 93.37
11:42:14 IST 0 9.74 0.00 0.51 0.00 0.00 0.00 0.00 0.00 0.00 89.74
Average: 0 5.58 0.00 0.34 0.85 0.00 0.00 0.00 0.00 0.00 93.23

上面命令的输出包括这些列:
CPU: 整数表示的处理器号或者 all 表示所有处理器的平均值。
%usr: 运行在用户级别的应用的 CPU 利用率百分数。
%nice: 和 %usr相同,但有 nice 优先级。
%sys: 执行内核应用的 CPU 利用率百分比。这不包括用于处理中断或者硬件请求的时间。
%iowait: 指定(或所有)CPU 的空闲时间百分比,这表示当前 CPU 处于 I/O 操作密集的状态。
%irq: 用于处理硬件中断的时间所占百分比。
%soft: 和%irq相同,但是是软中断。
%steal: 虚拟机非自主等待(时间片窃取)所占时间的百分比,即当虚拟机在竞争 CPU 时所从虚拟机管理程序那里“赢得”的时间。应该保持这个值尽可能小。如果这个值很大,意味着虚拟机正在或者将要停止运转。
%guest: 运行虚拟处理器所用的时间百分比。
%idle: CPU 没有运行任何任务所占时间的百分比。如果你观察到这个值很小,意味着系统负载很重。在这种情况下,你需要查看详细的进程列表、以及下面将要讨论的内容来确定这是什么原因导致的。
运行下面的命令使处理器处于极高负载,然后在另一个终端执行 mpstat 命令:
# dd if=/dev/zero of=test.iso bs=1G count=1
# mpstat -u -P 0 2 3
# ping -f localhost # Interrupt with Ctrl + C after mpstat below completes
# mpstat -u -P 0 2 3

最后,和 “正常” 情况下 mpstat 的输出作比较:

正如你在上面图示中看到的,在前面两个例子中,根据%idle的值可以判断 CPU 0 负载很高。
在下一部分,我们会讨论如何识别资源饥饿型进程,如何获取更多和它们相关的信息,以及如何采取恰当的措施。
Linux 进程报告
我们可以使用有名的ps命令,用-eo选项(根据用户定义格式选中所有进程) 和--sort选项(指定自定义排序顺序)按照 CPU 使用率排序列出进程,例如:
# ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu

上面的命令只会显示PID、PPID、和进程相关的命令、 CPU 使用率以及 RAM 使用率,并按照 CPU 使用率降序排序。创建 .iso 文件的时候运行上面的命令,下面是输出的前面几行:

一旦我们找到了感兴趣的进程(例如PID=2822的进程),我们就可以进入/proc/PID(本例中是/proc/2822) 列出目录内容。
这个目录就是进程运行的时候保存多个关于该进程详细信息的文件和子目录的目录。
例如:
/proc/2822/io:包括该进程的 IO 统计信息(IO 操作时的读写字符数)。
/proc/2822/attr/current:显示了进程当前的 SELinux 安全属性。
/proc/2822/cgroup:如果启用了 CONFIGCGROUPS 内核设置选项,这会显示该进程所属的控制组(简称cgroups),你可以使用下面命令验证是否启用了 CONFIGCGROUPS:
# cat /boot/config-$(uname -r) | grep -i cgroups

如果启用了该选项,你应该看到:
CONFIG_CGROUPS=y
根据红帽企业版 Linux 7 资源管理指南第一到四章的内容、openSUSE 系统分析和调优指南第九章、Ubuntu 14.04 服务器文档Control Groups 章节,你可以使用cgroups管理每个进程允许使用的资源数目。
/proc/2822/fd这个目录包含每个打开的描述进程的文件的符号链接。下面的截图显示了 tty1(第一个终端) 中创建 .iso 镜像进程的相关信息:

上面的截图显示 stdin(文件描述符 0)、stdout(文件描述符 1)、stderr(文件描述符 2) 相应地被映射到 /dev/zero、 /root/test.iso 和 /dev/tty1。
在 Linux 中为每个用户设置资源限制
如果你不够小心、让任意用户使用不受限制的进程数,最终你可能会遇到意外的系统关机或者由于系统进入不可用的状态而被锁住。为了防止这种情况发生,你应该为用户可以启动的进程数目设置上限。
你可以在 /etc/security/limits.conf 文件末尾添加下面一行来设置限制:* hard nproc 10
第一个字段可以用来表示一个用户、组或者所有人(*), 第二个字段强制限制可以使用的进程数目(nproc) 为 10。退出并重新登录就可以使设置生效。
然后,让我们来看看非 root 用户(合法用户或非法用户) 试图引起 shell fork 炸弹时会发生什么。如果我们没有设置限制, shell fork 炸弹会无限制地启动函数的两个实例,然后无限循环地复制任意一个实例。最终导致你的系统卡死。
但是,如果使用了上面的限制,fort 炸弹就不会成功,但用户仍然会被锁在外面直到系统管理员杀死相关的进程。

提示:limits.conf文件中可以查看其它 ulimit 可以更改的限制。
其它 Linux 进程管理工具
除了上面讨论的工具, 一个系统管理员还可能需要:
a) 通过使用 renice 调整执行优先级(系统资源的使用)。这意味着内核会根据分配的优先级(众所周知的 “niceness”,它是一个范围从-20到19的整数)给进程分配更多或更少的系统资源。
这个值越小,执行优先级越高。普通用户(而非 root)只能调高他们所有的进程的 niceness 值(意味着更低的优先级),而 root 用户可以调高或调低任何进程的 niceness 值。
renice 命令的基本语法如下:
# renice [-n] <new priority> <UID, GID, PGID, or empty> identifier

如果 new priority 后面的参数没有(为空),默认就是 PID。在这种情况下,PID=identifier 的进程的 niceness 值会被设置为<new priority>
b) 需要的时候中断一个进程的正常执行。这也就是通常所说的“杀死”进程。实质上,这意味着给进程发送一个信号使它恰当地结束运行并以有序的方式释放任何占用的资源。
按照下面的方式使用 kill 命令杀死进程:
# kill PID

另外,你也可以使用pkill结束指定用户(-u)、指定组(-G), 甚至有共同的父进程 ID (-P)的所有进程。这些选项后面可以使用数字或者名称表示的标识符。
# pkill [options] identifier

例如:
杀死组GID=1000的所有进程.
# pkill -G 1000

杀死PPID 是 4993的所有进程.
# pkill -P 4993

在运行pkill之前,先用pgrep测试结果、或者使用-l选项列出进程名称是一个很好的办法。它需要和pkill相同的参数、但是只会返回进程的 PID(而不会有其它操作),而pkill会杀死进程。
# pgrep -l -u gacanepa

⑷ 怎样在 Linux 中限制网络带宽使用

限制网络流量速率的一种方法是通过一个名为trickle的命令行工具。通过在程序运行时,预先加载一个速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。 trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着,你不必需要 root 权限就可以限制一个程序的带宽使用。要能使用 trickle 程序控制程序的带宽,这个程序就必须使用非静态链接库的套接字接口。当你想对一个不具有内置带宽控制功能的程序进行速率限制时,trickle 可以帮得上忙。
在 Ubuntu,Debian 及其衍生发行版中安装 trickle :

1

$ sudo apt-get install trickle

在 Fdora 或 CentOS/RHEL (带有 EPEL 软件仓库):

1

$ sudo yum install trickle

trickle 的基本使用方法如下。仅需简单地把 trickle 命令(及速率参数)放在你想运行的命令之前。

1

$ trickle -d <download-rate> -u <upload-rate> <command>

这就可以将 <command> 的下载和上传速率限定为特定值(单位 KBytes/s)。
例如,将你的 scp 会话的最大上传带宽设定为 100 KB/s:

1

$ trickle -u 100 scp backup.tgz alice@remote_host.com:

如若你想,你可以通过创建一个自定义启动器的方式,使用下面的命令为你的 Firefox 浏览器设定最大下载速率(例如, 300 KB/s)。

1

trickle -d 300 firefox %u

最后, trickle 也可以以守护进程模式运行,在该模式下,它将会限制所有通过 trickle 启动且正在运行的程序的总带宽之和。 启动 trickle 使其作为一个守护进程(例如, trickled):

1

trickle -d 300 firefox %u

一旦 trickled 守护进程在后台运行,你便可以通过 trickle 命令来启动其他程序。假如你通过 trickle 启动一个程序,那么这个程序的最大下载速率将是 1000 KB/s, 假如你再通过 trickle 启动了另一个程序,则每个程序的(下载)速率极限将会被限制为 500 KB/s,等等。
在 Linux 中限制一个网络接口的速率
另一种控制你的带宽资源的方式是在每一个接口上限制带宽。这在你与其他人分享你的网络连接的上行带宽时尤为实用。同其他一样,Linux 有一个工具来为你做这件事。wondershaper就是干这个的。
wondershaper 实际上是一个 shell 脚本,它使用 tc 来定义流量调整命令,使用 QoS 来处理特定的网络接口。外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。
事实上, wondershaper 的既定目标不仅仅是对一个接口增加其带宽上限;当批量下载或上传正在进行时,wondershaper 还试图去保持互动性会话如 SSH 的低延迟。同样的,它还会控制批量上传(例如, Dropbox 的同步)不会使得下载“窒息”,反之亦然。
在 Ubuntu Debian 及其衍生发行版中安装 wondershaper:

1

trickle -d 300 firefox %u

在 Fdora 或 CentOS/RHEL (带有 EPEL 软件仓库) 中安装 wondershaper:

1

trickle -d 300 firefox %u

wondershaper 的基本使用如下:

1

$ sudo wondershaper <interface> <download-rate> <upload-rate>

举个例子, 将 eth0 的最大下载/上传带宽分别设定为 1000Kbit/s 和 500Kbit/s:

1

$ sudo wondershaper <interface> <download-rate> <upload-rate>

你也可以通过运行下面的命令将速率限制进行消除:

1

$ sudo wondershaper <interface> <download-rate> <upload-rate>

假如你对 wondershaper 的运行原理感兴趣,你可以阅读其 shell 脚本源文件(/sbin/wondershaper)。
总结
在本教程中,我介绍了两种不同的方法,来达到如何在 Linux 桌面环境中,控制每个应用或每个接口的带宽使用的目的。 这些工具的使用都很简单,都为用户提供了一个快速且容易的方式来调整或限制流量。 如果你想更多地了解如何在 Linux 中进行速率控制,请参考 the Linux bible.

⑸ 怎么限制linux服务器用户cpu和mem的使用率

使用ulimit工具来限制,安装ulimit,然后下面是它的用法:
ulimit命令的参数有
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes

编辑/etc/security/limits.conf文件,基于特定的组或用户进行限制,例如:

* soft core 0
* hard rss 10000
@student hard nproc 20

domain以@符号+用户名或者组名对特定的用户或者组做限制,*表示所有用户;type字段可以设置为hard也可以设置为soft;item字段指想限制的资源,如cpu,core等;value字段是相应项目的值。

⑹ 如何限制linux所有进程可使用的总内存

下面的shell脚本可以实时的监控系统中各个进程的CPU和内存的占用情况,用于限制进程CPU占用 率更加合理。

#!/bin/sh
PIDS=`top-bn1|grep"^*[1-9]"|awk’{if($9>50||$10>25&&id-u$2>500)print$1}’`
forPIDin$PIDS
do
renice+10$PID
echo"renice+10$PID"
done

能够将这个脚本放到cron中运行,比如每分钟检查一次,只需以root身份添加crontab项:
#crontab -e
* * * * * limit.sh
以后每个一分钟就会检查一次,调整占用50%以上CPU或25%内存的进程的nice值,从而使这样的进程优先级变低,被调度的机会减少,同时会向root发邮件提示该进程被调整过。
但是,限制内存使用最好还是用PAM,RedHat能够在/etc/security/limits.conf中配置。

⑺ linux系统中如何限制网络流量

限制网络流量速率的一种方法是通过一个名为trickle的命令行工具。通过在程序运行时,预先加载一个速率限制 socket 库 的方法,trickle 命令允许你改变任意一个特定程序的流量。 trickle 命令有一个很好的特性是它仅在用户空间中运行,这意味着,你不必需要 root 权限就可以限制一个程序的带宽使用。要能使用 trickle 程序控制程序的带宽,这个程序就必须使用非静态链接库的套接字接口。
将你的 scp 会话的最大上传带宽设定为 100 KB/s:

$ trickle -u 100 scp backup.tgz alice@remote_host.com:

另一种控制你的带宽资源的方式是在每一个接口上限制带宽。这在你与其他人分享你的网络连接的上行带宽时尤为实用。同其他一样,Linux 有一个工具来为你做这件事。wondershaper就是干这个的。

wondershaper 实际上是一个 shell 脚本,它使用 tc 来定义流量调整命令,使用 QoS 来处理特定的网络接口。外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。
举个例子, 将 eth0 的最大下载/上传带宽分别设定为 1000Kbit/s 和 500Kbit/s:

$ sudo wondershaper <interface> <download-rate> <upload-rate>

⑻ Linux系统中如何限制用户进程CPU占用率

而占用CPU过高则让其他用户无法忍受,而其很有可能是用户程序有问题,这个时候系统应该自动阻止这样的进程继续消耗系统资源。 最简单的方法就是通过ps发现CPU占用率超过某个限制的用户进程,然后将该进程杀死,这种做法很暴力,而且用户发现他的进程被杀以后很可能又启动进程,这样恶性循环。 有一种折中的方法,不是将目标进程杀死,而是适当调整其nice值,具体见如下shell程序: renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'` (责任编辑:云子)

⑼ linux系统是不是有进程数等限制

这个是有的,在Linux中,ulimit用于shell启动进程所占用的资源,可以用来设置系统的限制

⑽ linux ulimit -u是设置什么参数的

一般情况下, ulimit -n 的数值是1024.
当进程打开的文件数目超过此限制时,该进程就会退出。
因此,有时需要修改此限制。linux调优之修改最大连接数(ulimit命令)
如果只是普通用户,只是暂时的修改ulimit -n,可以直接shell命令来修改(ulimit -n 1024000)。
但是这个设置时暂时的保留!当我们退出bash后,该值恢复原值。
如果要永久修改ulimit,需要修改/etc/security/limits.conf。limits.conf配置(ulimit设置永久生效)
vim /etc/security/limits.conf

# 添加如下的行
* soft nofile 4100
* hard nofile 4100
以下是说明:
* 代表针对所有用户
noproc 是代表最大进程数
nofile 是代表最大文件打开数
添加格式:
username|@groupname type resource limit
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
resource:

core - 限制内核文件的大小(kb)
date - 最大数据大小(kb)
fsize - 最大文件大小(kb)
memlock - 最大锁定内存地址空间(kb)
nofile - 打开文件的最大数目
rss - 最大持久设置大小(kb)
stack - 最大栈大小(kb)
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目

阅读全文

与linux资源限制相关的资料

热点内容
龙贝格算法c语言实现 浏览:839
程序员模式计算器安卓 浏览:96
在云平台搭建服务器 浏览:329
程序员开头 浏览:773
西夏pdf 浏览:223
coloros备份后的文件夹 浏览:128
linux源码pdf 浏览:793
什么app在微信小程序里看电视电影 浏览:114
服务器dns地址fec0 浏览:331
化州用什么app交社保 浏览:494
linuxvi怎么打开 浏览:245
程序员的电视剧完整版资源 浏览:921
运行时间轴的脚本命令是哪个 浏览:622
怎么部署rtx服务器 浏览:899
手机qq怎么压缩视频文件 浏览:533
魔兽钓鱼起钩算法 浏览:474
安卓手机怎么知道苹果手机在哪里 浏览:830
华为云服务器企业试用 浏览:111
CRYPTO加密是什么 浏览:50
平安三号压缩包 浏览:330