Skip to content

2019年08月

swap使用

linux 有 交换分区交换文件 两种方式扩展内存 一般建议交换内存为物理内存的 1~2倍

交换分区

一般是系统安装时配置

交换文件

交换文件添加

eg: 可以按照以下步骤在 /data/swaps/ 路径下创建一个 2GB 的交换文件:

  1. 使用 fallocatedd 命令创建一个 2GB 的交换文件。例如:
sudo fallocate -l 2G /data/swaps/swapfile

sudo dd if=/dev/zero of=/data/swaps/swapfile bs=1M count=2048

这将在 /data/swaps/ 目录下创建一个名为 swapfile 的 2GB 交换文件。

  1. 设置文件权限,确保只有 root 用户可以读写:
sudo chmod 600 /data/swaps/swapfile
  1. 将文件转换为交换空间:
sudo mkswap /data/swaps/swapfile
  1. 启用新的交换文件:
sudo swapon /data/swaps/swapfile
  1. 如果你希望系统在重新启动后仍然使用这个交换文件,需要将它添加到 /etc/fstab 文件中。编辑 /etc/fstab 并添加以下行:
/data/swaps/swapfile none swap sw 0 0

这会告诉系统在启动时启用这个新的交换文件。

最后,你可以使用 swapon --show 命令来确保新的交换文件已启用并提供额外的 2GB 交换空间。这将增加系统的交换空间,帮助处理内存不足的情况。

交换文件删除

要安全地删除一个交换文件,你可以按照以下步骤进行操作:

  1. 禁用交换文件:在删除交换文件之前,首先要禁用它。使用以下命令禁用交换文件:
sudo swapoff /path/to/swapfile

替换 /path/to/swapfile 为你的交换文件的完整路径。

  1. 删除交换文件:一旦交换文件被禁用,你可以安全地删除它。使用 rm 命令进行删除:
sudo rm /path/to/swapfile

请小心,确保你删除的是正确的文件,因为这个操作是不可恢复的。

  1. 更新 /etc/fstab(可选):如果你在 /etc/fstab 文件中为交换文件添加了条目,确保在删除文件后也将该条目从文件中删除。

  2. 重新启用交换分区或文件:如果你需要仍然需要交换空间,你可以使用已存在的交换分区或文件,或者创建一个新的。如果你删除了一个交换文件,你可以创建一个新的交换文件并启用它,如之前的步骤所示。

在进行这些操作之前,请确保你的系统没有任何活动的进程或任务依赖于交换文件,以避免不必要的问题。并且请小心确保你删除的是正确的文件,因为删除后无法恢复。

gitbook

http://www.zhaowenyu.com/gitbook-doc

环境

node 10

安装

npm install -g gitbook-cli

其他命令

# 测试页面
gitbook serve
# 生成页面
gitbook build

常用插件

https://www.zhaowenyu.com/gitbook-doc/plugins/cat-article-content.html

https://www.jianshu.com/p/09bf890ec8f6

https://juejin.cn/post/6844903865146441741

插件开发教程

https://snowdreams1006.github.io/gitbook-official/en/plugins/testing.html

hide-element 隐藏元素

{
    "plugins": [
        "hide-element"
    ],
    "pluginsConfig": {
        "hide-element": {
            "elements": [".gitbook-link"]
        }
    }
}

splitter 侧边栏宽度可调节

{
    "plugins": [
        "splitter"
    ]
}

search-pro 高级搜索

{
    "plugins": [
          "-lunr", 
          "-search", 
          "search-pro"
    ]
}

插件

plantuml

集成 plantuml 插件

参考 http://skyao.github.io/2015/11/25/gitbook-plantuml-plugin/

安装gitbook-plugin-plantuml

修改package.json文件,增加一个gitbook-plugin-plantuml插件.

“gitbook-plugin-plantuml”: “~0.0.15”

"devDependencies": {
    ......
    "gitbook-plugin-plantuml":  "~0.0.15"
},
然后执行命令:

npm install .

也可以一次性执行命令:

npm install gitbook-plugin-plantuml –save

设置book.json

在book.json中增加plugins设置:

{
    "plugins": ["plantuml"],
}
下载plantuml.jar

从官网download页面下载到plantuml.jar文件, 放到项目根目录下

创建目录/assets/images/uml

使用插件
在需要插入planttuml图片的地方, 插入plantuml内容 (注意要放在类型为uml的代码块中):


@startuml
a -> b
@enduml
之后执行gitbook server或者grunt test命令, 生成gitbook的html内容时, 这里的plantuml内容就会被转换为uml图片,然后替换对应的plantuml文本内容.

这样我们就可以在文章内容中直接书写plantuml内容, 然后自动得到对应的图片, 非常方便.

子页面不能显示原因分析及解决

打开插件index.js

此段代码表示只能解析一二级目录的图片

assetPath = '../assets/images/uml/' + chapterPath + '/'

稍作修改使之能解析多级

let assetPathPre = '../'.repeat(pathToken.length - 1)
assetPath = assetPathPre + 'assets/images/uml/' + chapterPath + '/'

现在下面的示例就能显示了

示例

@startuml
a -> b
@enduml

为什么不能用?

@startuml

    Class Stage
    Class Timeout {
        +constructor:function(cfg)
        +timeout:function(ctx)
        +overdue:function(ctx)
        +stage: Stage
    }
    Stage <|-- Timeout

@enduml

bug

Error: ENOENT: no such file or directory, stat ‘C:\Users\Lenovo\www\mdspg\md\mybook_book\gitbook\gitbook-plugin-fontsettings\fontsettings.js’

解决方式

用户目录下找到以下文件。 .gitbook\versions\3.2.3\lib\output\website\copyPluginAssets.js

Replace all

confirm: true

with

confirm: false

常用插件

+-- gitbook-plugin-import@0.0.4
+-- gitbook-plugin-3-ba@0.9.0
+-- gitbook-plugin-anchor-navigation-ex@1.0.14
+-- gitbook-plugin-back-to-top-button@0.1.4
+-- gitbook-plugin-code@0.1.0
+-- gitbook-plugin-disqus@0.1.0
+-- gitbook-plugin-ga@1.0.1
+-- gitbook-plugin-github@2.0.0
`-- gitbook-plugin-search-plus@1.0.3

拓展阅读

  • 如何开发插件g https://snowdreams1006.github.io/gitbook-official/en/plugins/create.html