# 没有VPS？

#### 解决方案一：Google Cloud Shell临时Linux桌面：&#x20;

官网：<https://cloud.google.com/shell?hl=zh-cn>

转到控制台会自动打开终端，直接就是个Linux终端了（大概是Ubuntu），直接输命令即可，如果没有自动打开那就右上角打开终端，Google给大家分配的机子配置还是很顶的，不过一次只能用4小时，会自动清空数据，每次用都重新创建即可，至少拿来练习Linux命令还是可以的

默认状态下可能会给你分配一个子用户，用`sudo su`命令切换到root用户即可

桌面安装：`docker run -p 8080:80 dorowu/ubuntu-desktop-lxde-vnc`&#x20;

安装完成后右上角网页预览，在端口8080打开

#### 解决方案二：各类无服务器服务，下面会讲

#### 解决方案三：免费VPS

首先你需要一张VISA或MASTERCARD的信用卡，因为基本目前已经没有不需要信用卡就能申请的免费VPS了，然后你可以用你的信用卡申请很多大厂的免费VPS，比如甲骨文云、亚马逊AWS、微软AZURE等

另外，如果你实在没有信用卡，还可以考虑共享鸡类方案（非常不推荐但是至少能用），这类方案很不稳定，比如：<https://cloud.duckyci.com/>，这个就是利用甲骨文云的免费VPS划分的共享鸡，机主把一台免费VPS划分成几十台来进行分享，网站随时可能倒闭，不过价格也是四舍五入约等于不要钱了（最低配置0.1美刀一个月，月租不到一块人民币）

这里再插一个题外话，如果买这种小鸡（内存512MB以下的），很有可能在运行程序时爆物理内存从而导致进程被杀死killed，然后这种LXC架构的机器因为他背后其实有一个总的swap，导致你不能单独分配swap，因此可以用下面的方法解决（时灵时不灵，低价机也别期望太高了）：

设置 `ulimit` 限制单个进程可以使用的最大内存量（虚拟内存限制），有助于防止个别进程占用过多内存。假设将内存限制为 64MB：

```bash
ulimit -m 65536
```

注意这样只会临时添加虚拟限制，如果想要永久生效，可以在用户的 shell 配置文件末尾（如 `.bashrc` 或 `.zshrc`）添加这一行

此外还有一些方法可供参考：

`cgroups` 是 Linux 提供的资源控制工具，可以限制内存、CPU 等资源的使用，但是使用起来比较复杂，而且需要单独配置对某个进程生效。

**步骤：**

1. 创建一个 cgroup 目录：

   ```bash
   sudo mkdir /sys/fs/cgroup/memory/mygroup
   ```
2. 限制内存（以字节为单位）。例如，限制为 512 MB：

   ```bash
   echo 536870912 | sudo tee /sys/fs/cgroup/memory/mygroup/memory.limit_in_bytes
   ```
3. 将进程加入该 cgroup。例如，假设目标进程的 PID 是 `12345`：

   ```bash
   echo 12345 | sudo tee /sys/fs/cgroup/memory/mygroup/cgroup.procs
   ```
4. 启动进程时也可以直接加入 cgroup：

   ```bash
   echo $$ | sudo tee /sys/fs/cgroup/memory/mygroup/cgroup.procs
   ./your_program
   ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.st0722.top/kuai-su-kai-shi/mei-you-vps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
