# 没有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
   ```
