Update remote-commands docs (#85)

diff --git a/_docs/en/administration/remote-commands.md b/_docs/en/administration/remote-commands.md
index 0ff2b80..184bd89 100644
--- a/_docs/en/administration/remote-commands.md
+++ b/_docs/en/administration/remote-commands.md
@@ -2,4 +2,94 @@
 permalink: administration/remote-commands
 ---
 
-TRANSLATING
+# Introduction
+
+Send remote commands to the Pegasus cluster through the `remote_command` command of the Pegasus shell tool, which includes a command name and 0 or more parameters, and can achieve functions such as information collection and configuration modification.
+
+Performing operations through remote commands has these benefits:
+* Direct communication: The command will be sent directly to the target remote process without the need for routing or forwarding.
+* Quick take effect: commands are usually executed immediately and take effect without waiting for time.
+* Easy development: No need to introduce new RPC, just register a new command name, parameter parsing method, and callback function.
+
+# Supported commands
+
+Pegasus supports different remote commands for different roles (MetaServer, ReplicaServer).
+You can query all supported commands through shell tool [`remote_command help` command](/docs/tools/shell/#remote_command).
+
+## MetaServer
+
+Obtain remote commands supported by MetaServer, for example:
+```
+>>> remote_command -l 127.0.0.1:34601 help
+COMMAND: help
+
+CALL [user-specified] [127.0.0.1:34601] succeed:
+help|h|H|Help - Display help information
+repeat|r|R|Repeat - Execute a command periodically in every interval seconds for the max count time (0 for infinite)
+config-dump - Dump all configurations to a server local path or to stdout
+engine - Get engine internal information, including threadpools and threads and queues in each threadpool
+fd.allow_list - Show the allow list of failure detector
+flush-log - Flush log to stderr or file
+meta.live_percentage - node live percentage threshold for update
+perf-counters - Query perf counters, filtered by OR of POSIX basic regular expressions
+perf-counters-by-postfix - Query perf counters, filtered by OR of postfix strings
+perf-counters-by-prefix - Query perf counters, filtered by OR of prefix strings
+perf-counters-by-substr - Query perf counters, filtered by OR of substrs
+reset-log-start-level - Reset the log start level
+server-info - Query server information
+server-stat - Query selected perf counters
+system.queue - Get queue internal information, including the threadpool each queue belongs to, and the queue name and size
+task-code - Query task code containing any given keywords
+task.queue_max_length - Get the current or set a new max task queue length of a specific thread_pool. It can be set it to INT_MAX which means a big enough value, but it can't be cancelled the delay/reject policy dynamically
+
+
+Succeed count: 1
+Failed count: 0
+```
+
+## ReplicaServer
+
+Obtain remote commands supported by ReplicaServer, for example:
+```
+>>> remote_command -l 127.0.0.1:34801 help
+COMMAND: help
+
+CALL [user-specified] [127.0.0.1:34801] succeed:
+help|h|H|Help - Display help information
+repeat|r|R|Repeat - Execute a command periodically in every interval seconds for the max count time (0 for infinite)
+config-dump - Dump all configurations to a server local path or to stdout
+engine - Get engine internal information, including threadpools and threads and queues in each threadpool
+flush-log - Flush log to stderr or file
+nfs.max_copy_rate_megabytes_per_disk - The maximum bandwidth (MB/s) of writing data per local disk when copying from remote node, 0 means no limit, should be greater than 'nfs_copy_block_bytes' which is 4194304
+nfs.max_send_rate_megabytes_per_disk - The maximum bandwidth (MB/s) of reading data per local disk when transferring data to remote node, 0 means no limit
+perf-counters - Query perf counters, filtered by OR of POSIX basic regular expressions
+perf-counters-by-postfix - Query perf counters, filtered by OR of postfix strings
+perf-counters-by-prefix - Query perf counters, filtered by OR of prefix strings
+perf-counters-by-substr - Query perf counters, filtered by OR of substrs
+replica.deny-client - control if deny client read & write request
+replica.get-tcmalloc-status - Get the status of tcmalloc
+replica.kill_partition - Kill partitions by (all, one app, one partition)
+replica.max-concurrent-bulk-load-downloading-count - The maximum concurrent bulk load downloading replica count
+replica.mem-release-max-reserved-percentage - control tcmalloc max reserved but not-used memory percentage
+replica.query-app-envs - Query app envs on the underlying storage engine by app_id or app_id.partition_id
+replica.query-compact - Query full compact status on the underlying storage engine by app_id or app_id.partition_id
+replica.release-all-reserved-memory - Release tcmalloc all reserved-not-used memory back to operating system
+replica.release-tcmalloc-memory - control if try to release tcmalloc memory
+replica.trigger-checkpoint - Trigger replicas to do checkpoint by app_id or app_id.partition_id
+replica.verbose-client-log - control if print verbose error log when reply read & write request
+replica.verbose-commit-log - control if print verbose log when commit mutation
+reset-log-start-level - Reset the log start level
+server-info - Query server information
+server-stat - Query selected perf counters
+system.queue - Get queue internal information, including the threadpool each queue belongs to, and the queue name and size
+task-code - Query task code containing any given keywords
+task.queue_max_length - Get the current or set a new max task queue length of a specific thread_pool. It can be set it to INT_MAX which means a big enough value, but it can't be cancelled the delay/reject policy dynamically
+
+
+Succeed count: 1
+Failed count: 0
+```
+
+# How to use it
+
+Refer to: [`remote_command` command](/docs/tools/shell/#remote_command)
diff --git a/_docs/en/tools/shell.md b/_docs/en/tools/shell.md
index 33e26ce..9bcc9b8 100644
--- a/_docs/en/tools/shell.md
+++ b/_docs/en/tools/shell.md
@@ -424,23 +424,25 @@
 
 ### remote_command
 
-Dispatch remote commands to the nodes to execute certain specialized operations.
+Send remote commands to one or more specified remote processes. See [remote-commands](/administration/remote-commands).
 
 Usage:
 
 ```
-USAGE:  remote_command           [-t all|meta-server|replica-server] [-l ip:port,ip:port...] <command>
+USAGE:  remote_command          [-t all|meta-server|replica-server] [-r|--resolve_ip]
+                                [-l ip:port,ip:port...] <command> [arguments...]
 ```
 
 Explanation:
 
-- The `-t`、`-l` option: Used to select specific target machines,see [server_info](#server_info) explanation.
-- Detailed information on remote commands, refer to [remote commands](/administration/remote-commands).
+* `-t`: Only send to all processes of the specified role.
+* `-l`: Only send to the specified address, multiple addresses can be specified through a list.
+* If not specified, instructions will be sent to all nodes in the cluster.
 
 Examples:
 
 ```
->>> recommand -t meta-server server-info
+>>> remote_command -t meta-server server-info
 ```
 
 ### flush_log
diff --git a/_docs/zh/administration/remote-commands.md b/_docs/zh/administration/remote-commands.md
index f7d0140..ab00bf9 100644
--- a/_docs/zh/administration/remote-commands.md
+++ b/_docs/zh/administration/remote-commands.md
@@ -2,116 +2,94 @@
 permalink: administration/remote-commands
 ---
 
-# 功能目标
+# 简介
 
-Pegasus基于rDSN框架构建,可以利用到rDSN框架的很多有用的功能,远程命令就是其中一个。
-
-rDSN框架通过RPC对外提供服务,除了开发者注册的用于业务逻辑的RPC服务,还提供了内建的RPC服务`RPC_CLI_CLI_CALL`,接口定义如下:
-```idl
-struct command
-{
-    1:string       cmd;
-    2:list<string> arguments;
-}
-
-service cli
-{
-    string call(1:command c);
-}
-```
-RPC的请求参数为command结构体,指定远程命令的`cmd`和`arguments`;RPC的返回结果是`string`。
-
-开发者可以注册各种远程命令,对远程命令处理并返回结果。你可以通过shell的`remote_command`接口向Pegasus的进程发送远程命令,以执行某些操作。
+通过 Pegasus shell 工具的 `remote_command` 命令向 Pegasus 集群发送远程命令,命令包含一个命令名和 0 个或多个参数,可以实现如信息收集、配置修改等功能。
 
 通过远程命令执行操作有这些好处:
-* 直接。命令直接发给目标进程。
-* 快速生效。命令一般都是立即执行。
-* 开发简单。注册和开发过程都很容易。
+* 直接通信:命令会直接发给远程目标进程,而无需路由或转发。
+* 快速生效:命令一般都是立即执行并生效,无需等待时间。
+* 开发简单:无需引入新的 RPC,只需注册新的命令名、参数解析方式及回调函数即可。
 
 # 支持命令
 
-Pegasus不同角色的进程支持不同的远程命令。但是collector没有监听端口,所以不支持远程命令。
+Pegasus 的不同角色(MetaServer、ReplicaServer)支持不同的远程命令。
+可以通过 shell 工具的 [`remote_command help` 命令](/docs/tools/shell/#remote_command) 查看所有支持的命令。
 
-## rdsn内建命令
+## MetaServer
 
-| 命令 | 功能 
-| ----- | ---- | 
-| engine | 获取rdsn框架引擎的信息,主要是包含哪些线程池、每个线程池有多少个线程
-| system.queue | 获取各线程池执行队列的排队长度
-| server-info | 获取进程的基本信息,包括版本号、启动时间,对应shell的`server_info`子命令
-| server-stat | 获取进程的简要统计信息,包括get/put等操作的QPS和延迟、机器的内存和存储使用情况,对应shell的`server_stat`子命令
-| task-code | 获取该进程注册的task code列表
-| flush_log | 将最近缓冲区中的日志数据刷出到日志文件中,对应shell的`flush_log`子命令
-| reset-log-start-level | 动态修改日志的级别
-| perf-counters | 获取最近一个统计周期内的perf counter数据
-| config-dump | 获取该进程启动时的配置文件的信息
-
-## meta-server
-
-| 命令 | 功能 
-| ----- | ---- | 
-| meta.lb.assign_delay_ms | 动态修改配置`replica_assign_delay_ms_for_dropouts`
-| meta.lb.assign_secondary_black_list | 动态修改`add_secondary`操作的黑名单,名单中的节点在负载均衡中不再分派replica
-| meta.lb.balancer_in_turn | 动态修改配置`balancer_in_turn`,控制负载均衡app时是one-by-one执行还是并行执行
-| meta.lb.only_primary_balancer | 动态修改配置`only_primary_balancer`,控制负载均衡时是否只要求各机器的primary replica个数达到平衡
-| meta.lb.only_move_primary | 动态修改配置`only_move_primary`,控制负载均衡时是否只做primary replica迁移,不做replica数据拷贝
-| meta.lb.add_secondary_enable_flow_control | 动态修改配置`add_secondary_enable_flow_control`,控制负载均衡时是否对`add_secondary`操作进行流控
-| meta.lb.add_secondary_max_count_for_one_node | 动态修改配置`add_secondary_max_count_for_one_node`,控制负载均衡时如果进行流控,单个机器最多并发执行`add_secondary`操作的个数
-
-## replica-server
-
-| 命令 | 功能 
-| ----- | ---- | 
-| replica.kill_partition | 将指定的replica关闭,停止提供服务
-| replica.deny-client | 动态修改配置`deny_client_on_start`,控制是否拒绝客户端的读写请求
-| replica.verbose-client-log | 动态修改配置`verbose_client_log_on_start`,控制回复客户端的请求时是否打印ERROR日志
-| replica.verbose-commit-log | 动态修改配置`verbose_commit_log_on_start`,控制在提交写请求时是否打印DEBUG日志
-| replica.trigger-checkpoint | 对指定的replica手动触发`async_checkpoint`操作
-| replica.query-compact | 对指定的replica查询其执行[Manual-Compact](manual-compact)操作的状态
-| replica.query-app-envs | 对指定的replica查询其当前的[Table环境变量](table-env)
-| useless-dir-reserve-seconds | 动态修改无用文件夹的保留时间,方便快速释放存储空间,从1.11.3版本开始支持,参见[垃圾文件夹管理](#resource-management#垃圾文件夹管理)
-
-# 如何使用
-
-通过shell的`remote_command`子命令,可以向指定的一个或者多个进程发送远程命令。用法:
+获取 MetaServer 支持的远程命令,例如:
 ```
-USAGE:  remote_command         [-t all|meta-server|replica-server] [-l ip:port,ip:port...] <command>
-                               [arguments...]
-```
-其中需要通过`-t`或者`-l`来指定目标进程:
-* `-t`:只向指定角色的所有进程发送。
-* `-l`:只向指定的地址发送,可以通过列表指定多个地址。
-
-如果你不知道目标进程支持哪些远程命令,可以发送`help`命令查看,譬如:
-```
->>> remote_command -l 127.0.0.1:34801 help
+>>> remote_command -l 127.0.0.1:34601 help
 COMMAND: help
 
-CALL [user-specified] [127.0.0.1:34801] succeed: help|Help|h|H [command] - display help information
-repeat|Repeat|r|R interval_seconds max_count command - execute command periodically
-engine - get engine internal information
-system.queue - get queue internal information
-server-info - query server information
-server-stat - query selected perf counters
-task-code - query task code containing any given keywords
-flush-log - flush log to stderr or log file
-reset-log-start-level - reset the log start level
-perf-counters - query perf counters, supporting filter by POSIX basic regular expressions
-profile|Profile|p|P - performance profiling
-profiler data - get appointed data, using by pjs
-profiler.query|pq - query profiling data, output in json format
-config-dump - dump configuration
-replica.kill_partition [app_id [partition_index]]
-replica.deny-client <true|false>
-replica.verbose-client-log <true|false>
-replica.verbose-commit-log <true|false>
-replica.trigger-checkpoint [id1,id2,...] (where id is 'app_id' or 'app_id.partition_id')
-replica.query-compact [id1,id2,...] (where id is 'app_id' or 'app_id.partition_id')
-replica.query-app-envs [id1,id2,...] (where id is 'app_id' or 'app_id.partition_id')
+CALL [user-specified] [127.0.0.1:34601] succeed:
+help|h|H|Help - Display help information
+repeat|r|R|Repeat - Execute a command periodically in every interval seconds for the max count time (0 for infinite)
+config-dump - Dump all configurations to a server local path or to stdout
+engine - Get engine internal information, including threadpools and threads and queues in each threadpool
+fd.allow_list - Show the allow list of failure detector
+flush-log - Flush log to stderr or file
+meta.live_percentage - node live percentage threshold for update
+perf-counters - Query perf counters, filtered by OR of POSIX basic regular expressions
+perf-counters-by-postfix - Query perf counters, filtered by OR of postfix strings
+perf-counters-by-prefix - Query perf counters, filtered by OR of prefix strings
+perf-counters-by-substr - Query perf counters, filtered by OR of substrs
+reset-log-start-level - Reset the log start level
+server-info - Query server information
+server-stat - Query selected perf counters
+system.queue - Get queue internal information, including the threadpool each queue belongs to, and the queue name and size
+task-code - Query task code containing any given keywords
+task.queue_max_length - Get the current or set a new max task queue length of a specific thread_pool. It can be set it to INT_MAX which means a big enough value, but it can't be cancelled the delay/reject policy dynamically
 
 
 Succeed count: 1
 Failed count: 0
 ```
 
-如果指定多个进程,就会并发地向所有进程发送命令,等待命令的返回结果,然后打印出来。
+## ReplicaServer
+
+获取 ReplicaServer 支持的远程命令。例如:
+```
+>>> remote_command -l 127.0.0.1:34801 help
+COMMAND: help
+
+CALL [user-specified] [127.0.0.1:34801] succeed:
+help|h|H|Help - Display help information
+repeat|r|R|Repeat - Execute a command periodically in every interval seconds for the max count time (0 for infinite)
+config-dump - Dump all configurations to a server local path or to stdout
+engine - Get engine internal information, including threadpools and threads and queues in each threadpool
+flush-log - Flush log to stderr or file
+nfs.max_copy_rate_megabytes_per_disk - The maximum bandwidth (MB/s) of writing data per local disk when copying from remote node, 0 means no limit, should be greater than 'nfs_copy_block_bytes' which is 4194304
+nfs.max_send_rate_megabytes_per_disk - The maximum bandwidth (MB/s) of reading data per local disk when transferring data to remote node, 0 means no limit
+perf-counters - Query perf counters, filtered by OR of POSIX basic regular expressions
+perf-counters-by-postfix - Query perf counters, filtered by OR of postfix strings
+perf-counters-by-prefix - Query perf counters, filtered by OR of prefix strings
+perf-counters-by-substr - Query perf counters, filtered by OR of substrs
+replica.deny-client - control if deny client read & write request
+replica.get-tcmalloc-status - Get the status of tcmalloc
+replica.kill_partition - Kill partitions by (all, one app, one partition)
+replica.max-concurrent-bulk-load-downloading-count - The maximum concurrent bulk load downloading replica count
+replica.mem-release-max-reserved-percentage - control tcmalloc max reserved but not-used memory percentage
+replica.query-app-envs - Query app envs on the underlying storage engine by app_id or app_id.partition_id
+replica.query-compact - Query full compact status on the underlying storage engine by app_id or app_id.partition_id
+replica.release-all-reserved-memory - Release tcmalloc all reserved-not-used memory back to operating system
+replica.release-tcmalloc-memory - control if try to release tcmalloc memory
+replica.trigger-checkpoint - Trigger replicas to do checkpoint by app_id or app_id.partition_id
+replica.verbose-client-log - control if print verbose error log when reply read & write request
+replica.verbose-commit-log - control if print verbose log when commit mutation
+reset-log-start-level - Reset the log start level
+server-info - Query server information
+server-stat - Query selected perf counters
+system.queue - Get queue internal information, including the threadpool each queue belongs to, and the queue name and size
+task-code - Query task code containing any given keywords
+task.queue_max_length - Get the current or set a new max task queue length of a specific thread_pool. It can be set it to INT_MAX which means a big enough value, but it can't be cancelled the delay/reject policy dynamically
+
+
+Succeed count: 1
+Failed count: 0
+```
+
+# 如何使用
+
+参考:[`remote_command` 命令](/docs/tools/shell/#remote_command)
diff --git a/_docs/zh/tools/shell.md b/_docs/zh/tools/shell.md
index 891635e..9ffe37b 100755
--- a/_docs/zh/tools/shell.md
+++ b/_docs/zh/tools/shell.md
@@ -409,23 +409,25 @@
 
 ### remote_command
 
-向节点发送远程命令,以执行某些特殊操作。
+向指定的一个或者多个远程进程发送远程命令。参见[远程命令](/administration/remote-commands)。
 
 用法:
 
 ```
-USAGE:remote_command             [-t all|meta-server|replica-server] [-l ip:port,ip:port...] <command>
+USAGE:  remote_command          [-t all|meta-server|replica-server] [-r|--resolve_ip]
+                                [-l ip:port,ip:port...] <command> [arguments...]
 ```
 
 说明:
 
-- `-t`、`-l`选项:用于选择特定目标机器,参见 [server_info](#server_info) 说明。
-- 远程命令详细信息,参见[远程命令](/administration/remote-commands)。
+* `-t`:只向指定角色的所有进程发送。
+* `-l`:只向指定的地址发送,可以通过列表指定多个地址。
+* 如果不指定,则会向集群中的所有节点发送指令。
 
 示例:
 
 ```
->>> recommand -t meta-server server-info
+>>> remote_command -t meta-server server-info
 ```
 
 ### flush_log