liunx 系统性能分析工具集

Liunx之nmon性能监控及分析 一、nmon性能监控 1、针对不同的操作系统及版本,将对应的nmon监控软件导入待监控的系统中 其中rhel(red hat enterprise linux)、sles(suse linux enterprise server) 注:接下来以nmon_x86_64_rhel6为例进行说明 2、修改nmon_x86_64_rhel6权限: chmod 7 阅读详情

strace 查看一个命令执行的源码

跟踪程式执行时的系统调用和所接收的信号.通常的用法是strace执行一直到commande结束. 
并且将所调用的系统调用的名称、参数和返回值输出到标准输出或者输出到-o指定的文件. 
strace是一个功能强大的调试,分析诊断工具.你将发现他是一个极好的帮手在你要调试一个无法看到源码或者源码无法在编译的程序

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> -c         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#统计每一系统调用的所执行的时间,次数和出错的次数等. </span>
 -<span class="hljs-constant" style="box-sizing: border-box;">C</span>         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#Like -c but also print regular output while processes are running</span>
 -d         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#输出strace自身的关于标准错误的调试信息. </span>
 -f         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#跟踪由fork调用所产生的子进程. </span>
 -ff            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号. 此与-c不兼容</span>
 -h         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#输出简要的帮助信息. </span>
 -i         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#打印系统调用时候的入口指针. </span>
 -q         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#禁止输出关于脱离的消息. </span>
 -r         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#进入每一个系统调用时打印一个相对时间戳,一个系统调用的开始和下一个系统调用接替时,两者之间的时间. </span>
 -t         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#在输出中的每一行前加上时间信息. </span>
 -tt            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#时间信息精确到微妙</span>
 -ttt           <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#时间信息精确到微妙,而且时间表示为unix时间戳</span>
 -<span class="hljs-constant" style="box-sizing: border-box;">T</span>         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#显示每一调用所耗的时间. </span>
 -v         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#Print unabbreviated versions of environment, stat, termios, etc.  calls</span>
 -<span class="hljs-constant" style="box-sizing: border-box;">V</span>         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#输出strace的版本信息. </span>
 -x         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#打印所有非ascii字符串以十六进制字符串格式显示。</span>
 -xx            <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#所有字符串以十六进制形式输出. </span>
 -a column      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#设置返回值的输出位置.默认 为40. </span>
 -e expr        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#指定一个表达式,用来控制如何跟踪.格式如下: </span>
    [qualifier=][!]value1[,value2]... 
    qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用来限定的符号或数字.默认的 qualifier是 trace.感叹号是否定符号.例如<span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:</span> -eopen等价于 -e trace=open,表示只跟踪open调用.而-etrace!=open表示跟踪除了open以外的其他调用.有两个特殊的符号 all 和 none. 注意有些shell使用!来执行历史记录里的命令,所以要使用反斜杠
 -e trace=set       <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#只跟踪指定的系统调用.例如:-e trace=open,close,rean,write表示只跟踪这四个系统调用.默认的为set=all. </span>
 -e trace=file      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#只跟踪有关文件操作的系统调用. </span>
 -e trace=process   <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#只跟踪有关进程控制的系统调用. </span>
 -e trace=network   <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#跟踪与网络有关的所有系统调用. </span>
 -e strace=signal   <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#跟踪所有与系统信号有关的 系统调用 </span>
 -e trace=ipc       <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#跟踪所有与进程通讯有关的系统调用 </span>
 -e abbrev=set      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#设定 strace输出的系统调用的结果集.-v等与abbrev=none.默认为abbrev=all. </span>
 -e raw=set     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#将指 定的系统调用的参数以十六进制显示. </span>
 -e signal=set      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#指定跟踪的系统信号.默认为all.如 signal=!SIGIO(或者signal=!io),表示不跟踪SIGIO信号. </span>
 -e read=set        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#输出从指定文件中读出的数据.例如: -e read=3,5 </span>
 -e write=set       <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#输出写入到指定文件中的数据. </span>
 -o filename        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#将strace的输出写入文件filename </span>
 -<span class="hljs-constant" style="box-sizing: border-box;">O</span> overhead        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#设置追踪系统的总开销(microseconds)</span>
 -p pid         <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#跟踪指定的进程pid. </span>
 -s strsize     <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#指定输出的字符串的最大长度.默认为32.文件名一直全部输出. </span>
 -<span class="hljs-constant" style="box-sizing: border-box;">S</span> sortby      <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#-c选项的输出以规定的标准显示为直方图</span>
 -u username        <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#以username 的UID和GID执行被跟踪的命令</span>




strace -c -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4149</span>


strace -e=all -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4149</span>


strace -<span class="hljs-constant" style="box-sizing: border-box;">T</span> -tt -e all -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4149</span>


strace -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5689</span>


strace -<span class="hljs-constant" style="box-sizing: border-box;">T</span> -tt -p <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5689</span>


strace -<span class="hljs-constant" style="box-sizing: border-box;">T</span> -tt -f rake dx_show_1


strace -<span class="hljs-constant" style="box-sizing: border-box;">T</span> -tt -f rake dx_show_1 > <span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/tmp/strace</span>_ruby_221.txt


strace -<span class="hljs-constant" style="box-sizing: border-box;">T</span> -tt -f -o /tmp/strace_ruby_221.txt rake dx_show_1


strace -o output.txt -<span class="hljs-constant" style="box-sizing: border-box;">T</span> -tt -e trace=all -p <span class="hljs-constant" style="box-sizing: border-box;">PID</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li><li style="box-sizing: border-box; padding: 0px 5px;">39</li><li style="box-sizing: border-box; padding: 0px 5px;">40</li><li style="box-sizing: border-box; padding: 0px 5px;">41</li><li style="box-sizing: border-box; padding: 0px 5px;">42</li><li style="box-sizing: border-box; padding: 0px 5px;">43</li><li style="box-sizing: border-box; padding: 0px 5px;">44</li><li style="box-sizing: border-box; padding: 0px 5px;">45</li><li style="box-sizing: border-box; padding: 0px 5px;">46</li><li style="box-sizing: border-box; padding: 0px 5px;">47</li><li style="box-sizing: border-box; padding: 0px 5px;">48</li><li style="box-sizing: border-box; padding: 0px 5px;">49</li><li style="box-sizing: border-box; padding: 0px 5px;">50</li><li style="box-sizing: border-box; padding: 0px 5px;">51</li><li style="box-sizing: border-box; padding: 0px 5px;">52</li><li style="box-sizing: border-box; padding: 0px 5px;">53</li><li style="box-sizing: border-box; padding: 0px 5px;">54</li><li style="box-sizing: border-box; padding: 0px 5px;">55</li><li style="box-sizing: border-box; padding: 0px 5px;">56</li><li style="box-sizing: border-box; padding: 0px 5px;">57</li><li style="box-sizing: border-box; padding: 0px 5px;">58</li><li style="box-sizing: border-box; padding: 0px 5px;">59</li><li style="box-sizing: border-box; padding: 0px 5px;">60</li><li style="box-sizing: border-box; padding: 0px 5px;">61</li><li style="box-sizing: border-box; padding: 0px 5px;">62</li><li style="box-sizing: border-box; padding: 0px 5px;">63</li><li style="box-sizing: border-box; padding: 0px 5px;">64</li><li style="box-sizing: border-box; padding: 0px 5px;">65</li><li style="box-sizing: border-box; padding: 0px 5px;">66</li><li style="box-sizing: border-box; padding: 0px 5px;">67</li></ul>

iostat / iotop 查看IO

iostat通过观察设备的活跃时间和他们平均传输率之间的关系来监视系统的输入/输出设备负载。iostat生成的报告可以用于修改系统配置从而更好在物理硬盘间平衡输入/输出的报告。

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">iostat 


iostat -k
iostat -m
iostat -x
iostat -k <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>
iostat -c <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span>
iostat -d hda2 hda6 <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul>

lsof 查看 列出当前系统打开文件的工具

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">lsof `which httpd` /<span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/那个进程在使用apache的可执行文件
lsof /etc</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/passwd /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/那个进程在占用/etc</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/passwd
lsof /dev</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/hda6 /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/那个进程在占用hda6
lsof /dev</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/cdrom /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/那个进程在占用光驱
lsof -c sendmail /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/查看sendmail进程的文件使用情况
lsof -c courier -u ^zahn /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/显示出那些文件被以courier打头的进程打开,但是并不属于用户zahn
lsof -p 30297 /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/显示那些文件被pid为30297的进程打开
lsof -D /tmp</span> 显示所有在/tmp文件夹中打开的instance和文件的进程。但是symbol文件并不在列


lsof -u100<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> /<span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/查看uid是100的用户的进程的文件使用情况
lsof -utony /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/查看用户tony的进程的文件使用情况
lsof -u^tony /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/查看不是用户tony的进程的文件使用情况(^是取反的意思)
lsof -i /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/显示所有打开的端口
lsof -i:80 /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/显示所有打开80端口的进程
lsof -i -U /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/显示所有打开的端口和UNIX domain文件
lsof -i UDP@[url]www.akadia.com:123 /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/显示那些进程打开了到www.akadia.com的UDP的123(ntp)端口的链接
lsof -i tcp@ohaha.ks.edu.tw:ftp -r /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/不断查看目前ftp连接的情况(-r,lsof会永远不断的执行,直到收到中断信号,+r,lsof会一直执行,直到没有档案被显示,缺省是15s刷新)
lsof -i tcp@ohaha.ks.edu.tw:ftp -n /</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/lsof -n 不将IP转换为hostname,缺省是不加上-n参数




lsof abc.txt 显示开启文件abc.txt的进程
lsof -c abc 显示abc进程现在打开的文件
lsof -c -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr</span><span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/local/</span> 显示目录下被进程开启的文件
lsof +<span class="hljs-constant" style="box-sizing: border-box;">D</span> /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span> 显示使用fd为<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span>的进程
lsof -i 用以显示符合条件的进程情况
lsof -i[<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">46</span>] [protocol][<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">@hostname</span>|hostaddr][<span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:service|port</span>]
  <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">46</span> --> <span class="hljs-constant" style="box-sizing: border-box;">IPv4</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> <span class="hljs-constant" style="box-sizing: border-box;">IPv6</span>
  protocol --> <span class="hljs-constant" style="box-sizing: border-box;">TCP</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> <span class="hljs-constant" style="box-sizing: border-box;">UDP</span>
  hostname --> <span class="hljs-constant" style="box-sizing: border-box;">Internet</span> host name
  hostaddr --> <span class="hljs-constant" style="box-sizing: border-box;">IPv4</span>地址
  service --> <span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/etc/service</span>中的 service name (可以不止一个)
  port --> 端口号 (可以不止一个)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li><li style="box-sizing: border-box; padding: 0px 5px;">34</li><li style="box-sizing: border-box; padding: 0px 5px;">35</li><li style="box-sizing: border-box; padding: 0px 5px;">36</li><li style="box-sizing: border-box; padding: 0px 5px;">37</li><li style="box-sizing: border-box; padding: 0px 5px;">38</li></ul>

netstat 显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">-a (all)显示所有选项,默认不显示<span class="hljs-constant" style="box-sizing: border-box;">LISTEN</span>相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 <span class="hljs-constant" style="box-sizing: border-box;">Listen</span> (监听) 的服務状态


-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。


netstat -nap|grep <span class="hljs-constant" style="box-sizing: border-box;">LISTEN</span>|grep <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">80</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li></ul>

df 用来检查linux服务器的文件系统的磁盘空间占用情况

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">必要参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-<span class="hljs-constant" style="box-sizing: border-box;">H</span> 等于“-h”,但是计算式,<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>K=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1000</span>,而不是<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>K=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1024</span>
-i 显示inode信息
-k 区块为<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1024</span>字节
-l 只显示本地文件系统
-m 区块为<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1048576</span>字节
--no-sync 忽略 sync 命令
-<span class="hljs-constant" style="box-sizing: border-box;">P</span> 输出格式为<span class="hljs-constant" style="box-sizing: border-box;">POSIX</span>
--sync 在取得磁盘信息前,先执行sync命令
-<span class="hljs-constant" style="box-sizing: border-box;">T</span> 文件系统类型
选择参数:
--block-size=<区块大小> 指定区块大小
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
--help 显示帮助信息
--version 显示版本信息




df -h</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li></ul>

free 显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">-b  以<span class="hljs-constant" style="box-sizing: border-box;">Byte</span>为单位显示内存使用情况。 
-k  以<span class="hljs-constant" style="box-sizing: border-box;">KB</span>为单位显示内存使用情况。 
-m  以<span class="hljs-constant" style="box-sizing: border-box;">MB</span>为单位显示内存使用情况。
-g   以<span class="hljs-constant" style="box-sizing: border-box;">GB</span>为单位显示内存使用情况。 
-o  不显示缓冲区调节列。 
-s<间隔秒数>  持续观察内存使用状况。 
-t  显示内存总和列。 
-<span class="hljs-constant" style="box-sizing: border-box;">V</span>  显示版本信息。




free -m/g</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li></ul>

lsb_release LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">-v, --version
    显示版本信息


-i, --id
    显示发行版的<span class="hljs-constant" style="box-sizing: border-box;">ID</span>


-d, --description
    显示该发行版的描述信息


-r, --release
    显示当前系统是发行版的具体版本号


-c, --codename
    发行版代号


-a, --all
    显示上面的所有信息

-s, --short  
    输出简短的描述信息 


-h, --help
    显示帮助信息


lsb_release -a
</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li><li style="box-sizing: border-box; padding: 0px 5px;">31</li><li style="box-sizing: border-box; padding: 0px 5px;">32</li><li style="box-sizing: border-box; padding: 0px 5px;">33</li></ul>

pgrep 检查在系统的中活动进程,报告进程属性匹配命令行上指定条件的进程的ID

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">pgrep cron
pgrep java
man pgrep</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>

ps/grep/awk/xargs

ps -ef | grep api_agent | grep -v grep| awk ‘{print $2}’| xargs kill -9

tail

tail -n 100 rainbows.error.log -A5/B5/C

gem/which

gem which em-http-request

curl/time

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">curl -vv 
curl -d <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">''</span>  <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">http:</span>/<span class="hljs-regexp" style="color: rgb(0, 136, 0); box-sizing: border-box;">/xxx
time curl -vv ''</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>

find/exec

find . -name file_name -exec grep -in ‘^ncommons’ {} \;

find . -name Gemfile -print -exec grep “^gem .*github” {} \;

dig 追查DNS

dig http://hostname:port

DNS 配置

/etc/resolv.conf

ruby / profile

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">gem install profile
ruby -rprofile example.rb
ruby -<span class="hljs-constant" style="box-sizing: border-box;">S</span> rake
ruby -rprofile -<span class="hljs-constant" style="box-sizing: border-box;">S</span> rake some_executable</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>

网络接口参数配置文件

<code class="language-ruby hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">/etc/network/interfaces 


<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)</span>


<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># The loopback interface</span>
auto lo
iface lo inet loopback


<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># The first network card - this entry was created during the Debian installation</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># (network, broadcast and gateway are optional)</span>
auto eth<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>
iface eth<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> inet static
        address <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.1</span>
        netmask <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">255.255</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">255.0</span>
        network <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>
        broadcast <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.255</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#       gateway 192.168.1.1</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">#       name 以太网局域网网卡</span>


auto <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">eth0:</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>
iface <span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">eth0:</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> inet static
        address <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.2</span>
        netmask <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">255.255</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">255.0</span>
        network <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>
        broadcast <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.255</span>
        gateway <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.1</span>
下面是一个从<span class="hljs-constant" style="box-sizing: border-box;">DHCP</span>服务器自动获得<span class="hljs-constant" style="box-sizing: border-box;">IP</span>地址的示例:


<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)</span>


<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># The loopback interface</span>
auto lo
iface lo inet loopback


<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># The first network card - this entry was created during the Debian installation</span>
<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># (network, broadcast and gateway are optional)</span>
auto eth<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>
iface eth<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span> inet dhcp</code>
鸿蒙liunx 如果需要安装软件的终端能访问完整的软件源但是没有需要安装的软件,不过有其它终端可以访问完整的软件源下载安装软件,并且其它终端有软件商店,那么可以先在有软件商店的终端上下载软件到自定义路径,然后在需要安装的终端上点击设置,选择存放软件包的路径,找到软件包进行安装。:当需要安装软件的终端不能访问完整的软件源下载安装软件,但有其它终端可以访问完整的软件源下载安装软件,且软件源里有需要安装的软件(包括从软件官网下载的软件)时,可以使用此方法。在可视模式下,可以选择文本,然后执行操作,比如复制、删除、替换等。 阅读详情

相关推荐

nginx配置视频流加密防盗链(一)安装nginx插件

前段时间研究了一下视频流的简单加密防盗链,参考了很多文章,最后总算搞出来了。现在自己总结了一下。

u013294657的博客 1864

运维工作常用的性能分析工具介绍

在运维工作中常用到的性能分析工具包括:vmstat、sar、iostat、netstat、free、ps、top、mpstat以及第三方开发工具,如:dstat、collectl及淘宝的开源监控项目tsar等。 1. vmstat vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写

langkeziju的专栏 6390

MACS2软件进行Peak calling

MACS2可以检出ChIP-Seq,ATAC-seq 以及 MeRIP-seq (RNA甲基化测序) 等富集的序列。peaks calling 有不同的方法,MACS2是最常用的call peaks工具。 MACS全称Model-based Analysis of ChIP-Seq,最初的设计是用来鉴定转录因子的结合位点,但是它也可以用于其他类型的富集方式测序。usage: macs2 [-h] [--version] {callpeak,bdgpeakcall,bdgbroadca

qq_27390023的博客 3789

linux下性能监控工具Nmon的使用以及通过nmon_analyse生成分析报表

我们监控我们的操作系统的时候如果可以把各个硬件的监控信息生成形象化的分析报表图对于我们来说是件太好的事情了,而通过nom和nmon_analyser两者的结合完全可以实现我们的要求。首先对nmon和nmon_analyser做一个大概介绍。Nmon 是一个分析aix和linux性能的免费工具(其主要是ibm为自己的aix操作系统开发的,但是也可以应用在linux操作系统上),而nmon_analy

浮生若梦的专栏 6551

别再乱调栅极电阻了!手把手教你用示波器调试FOC驱动MOS管,避开EMC和震荡坑

本文详细介绍了FOC驱动中MOS管栅极参数的精准调试方法,涵盖示波器配置、波形特征分析及栅极电阻选型策略。通过实战案例和工程经验,帮助工程师有效解决EMC和震荡问题,提升驱动电路稳定性和效率。

weixin_28728495的博客 502

飞牛NAS一键部署小雅Emby全家桶:解锁海量影音资源与智能刮削

本文详细介绍了如何在飞牛NAS上通过Docker一键部署小雅Emby全家桶,完美解决传统WebDAV挂载无法刮削元数据的问题。该方案整合了小雅Alist海量影音资源与Emby媒体服务器,通过预下载超百GB元数据包,自动实现海报、简介等信息的完美匹配,打造出精美的个人影音库。部署过程需准备阿里云盘令牌与充足存储空间,并详解了从环境配置、镜像拉取到最终验证的完整步骤及优化技巧。

weixin_28312391的博客 919

Liunx系统性能管理分析

这个值的初始值是 60,用 Swap 比较多,性能会差些,最好改成 10,尽量先用物理内。当 Swappiness = 100时,表示最大限度使用 Swap,然后才使用物理内存,)hdparm -tT --direct /dev/sda #直接测试硬盘的读性能。当 Swappiness = 0时,表示最大限度使用物理内存,然后才使用 Swap,2)hdparm -T /dev/sda #测试硬盘缓存的读取速度。1)hdparm -t /dev/sda #评估硬盘的读取效率。

xinjing8888的博客 653

Python 爬虫实战:抓取悦动圈跑步爱好者运动轨迹数据,规划健身路线

通过本次 Python 爬虫实战,我们学习了如何使用 Python 抓取悦动圈跑步爱好者的运动轨迹数据,并基于这些数据进行分析和处理,最终规划出健身路线。在这个过程中,我们掌握了requests、BeautifulSoup、pandas和matplotlib等库的基本使用方法,了解了爬虫的基本原理和流程。希望本文能够帮助你更好地理解和应用 Python 爬虫技术,在数据处理和分析领域取得更多的成果。

u014481728的博客 2363

liunx 系统性能分析

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

Men-DD 980

基于JeecgBoot 3.9.0 开源项目的企业管理平台

基于JeecgBoot 3.9.0 开源项目的企业管理平台

宁波阿成的博客 374

PyQt5自动化测试,让测试更加便利

PyQt5是一个Python的GUI编程工具包,帮助开发者可以更加简单、快捷地创建图形界面和处理用户输入。在PyQt5中有两种常见的测试方式:手动测试和自动化测试。手动测试需要通过点击、输入等交互操作进行测试,自动化测试则是通过程序模拟鼠标、键盘等操作进行测试。这段代码创建了一个简单的窗口,其中包含一个按钮。这段代码打开一个本地HTML文件,点击页面上的按钮并检查输出是否为“Button clicked”。以上就是在PyQt5中进行自动化测试的简单示例。使用PyQt5可以大大简化测试过程,提高测试效率。

PixelCoder的博客 710

Liunx的基本命令

Liunx的基本命令 开关机 sync :把内存中的数据写到磁盘中(关机、重启前都需先执行sync) shutdown -r now或reboot :立刻重启 shutdown -h now :立刻关机 shutdown -h 20:00 :预定时间关闭系统(晚上8点关机,如果现在超过8点,则明晚8点) shutdown -h +10 :预定时间关闭系统(10分钟后关机) shutdown -c :取消按预定时间关闭系统 系统信息 who am i :查看当前使用的终端 who 或 w : 查看所有终

weixin_55604579的博客 356

我的AI个人公司成立:基于Skills与Qwen大模型的智能问答平台实战开发+龙虾团队

微学AI推出数字员工矩阵,包含10个核心AI角色(总经理、秘书、工程师等),每个角色具备专属技能模块。系统采用FastAPI+Vue3技术栈,核心功能包括:基于SkillLoader的动态技能管理(支持脚本执行和文档加载)、WebSocket流式输出、多轮对话上下文管理。通过模块化架构实现AI自驱协作,可自主完成从需求分析到开发落地的全流程。项目亮点在于声明式技能配置和实时交互能力,打破传统办公壁垒,提升工作效率。

微学AI的博客 1624

Liunx sar

 sar使用手册 注:最近要对以前做的一个项目进行测试,本来是想自己写一个系统性能分析工具的,后来发现sar还是不过的,就直接使用sar了。我这里需要测试cpu使用情况和网络使用情况:#!/bin/shif [ -z $1 ];then        name="temp.sar"else        name=$1fis

yanyongshan的专栏 613

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

liunx查看系统性能的工具 vmstat sar iostat netstat ps top

vmstat结果内容的解释Vmstatprocs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo...

weixin_34233618的博客 185

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Linux系统性能调优技巧详解

Linux 系统广泛应用于服务器、嵌入式设备以及开发工作站中,因此对其进行性能调优是保障系统高效运行的关键之一。性能调优不仅可以提高系统的响应速度,还能有效优化资源使用,避免瓶颈。在这篇文章中,我们将深入探讨 Linux 系统性能调优的几种常见方法,并展示相应的代码和工具使用。

萧鼎的博客 1669

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

liunx性能调优

最后三个数字依次是过去1分钟,5分钟,15分钟的平均负载一般来说,平均负载最理想的情况就是等于cpu的个数,当平均负载的个数比cpu个数还大的时候,系统就已经出现了过载,结合平均负载的三个数值,可以全面了解目前的系统负载情况,当平均负载高于cpu数量的70%的时候,就需要排查负载问题了5.cpu使用率过高如何处理。

weixin_42415401的博客 990

liunx释放缓存

1、查看内存使用情况 free -m/free -g  total:内存总数 used:已经使用的内存数 free:空闲的内存数 shared:当前已经废弃不用 buffers Buffer:缓存内存数 cached Page:缓存内存数   第一行:     Mem的 Total=used+free used使用内存 free空闲内存     shared ...

qq_26974471的博客 222

liunx概述+常用liunx操作命令手册

第二:ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。- inode 节点是一个 64 字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。通常,一个桌面环境,如KDE或Gnome,足以在没有问题的情况下运行。

weixin_60136157的博客 895

liunx内核配置说明/etc/sysctl.conf

配置信息: [root@icdb ~]# cat /etc/sysctl.conf kernel.sysrq = 0 ------------------是否启用kernel.sysrq(在大多数服务已无法 响应的情况下,还能通过按键组合来完成一系列 ...

zxljsbk的博客 1万+

liunx下的系统性能监测工具——Nmon

因为要对拆分后的系统进行性能测试,上网查了查相关工具,这类工具有很多,但最后我选择了Nmon,没啥特殊原因,在满足我需求的前提下学习成本最低。 安装: - mkdir /usr/local/nmon - cd /usr/local/nmon - wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz

wangyu2010302660001的专栏 451

liunx 线上排查 常用命令

内存瓶颈 free free 是查看内存使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 free -h -s 3 表示每隔三秒输出一次内存情况,命令如下 [root@hadoop001 ~]$ free total used free shared buff/cache available Mem: 119623656 43052220 45611364 4313760 30960

xinji 712

Linux常用系统性能监控运维脚本

此脚本为上次发布版本的更新版,添加了些内容,增加了用户体验! 使用方法:1.根据自己的实际环境新建自己的目录 2.将脚本’run.sh‘、'MonitorOS.py'、'alter_diskpath.sh'放到新建的目录下,并添加可执行权限 3.执行'alter_diskpath.sh'脚本来修改要监控的磁盘挂载目录!(注意:建议一次性的正确输入,此脚本未添加异常处理,执行后输错需要手动进入py脚本中手动修改!参考命令:“df -hT”) 4.执行'run

weixin_49291148的博客 2383

liunx系统负载量以及性能的分析

来自:http://heipark.iteye.com/blog/1340384一、什么是load average?linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。 Load

liqinghan的专栏 379

liunx vmstat

vmstat 命令(网上搜索资料) vmstat 2   2 秒钟采集一次服务器 各个数据含义: r 表示运行队列(就是说多少个进程真的分配到CPU),当这个值超过了CPU数目,就会出现CPU瓶颈了。b 表示阻塞的进程,这个不多说. swpd 虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器...

记录点滴 315

liunx 性能监控命令及工具

1. uptime 命令用于查看服务器运行了多长时间以及有几个用户登录,快速获得服务器负载 uptime 输出内容:第一项是服务器运行多长时间;第二项是服务器登陆用户数;第三项是load average (服务器负载)显示最近1、5、15分钟的负荷情况load average 的最佳值是1,说明每个进程都可以马上处理并存没有cpu cycles被丢失。对于单cup的机器,1或者2是可以接受...

记录点滴 161
上一篇: cgroups管理进程磁盘io
下一篇: Linux 性能工具集2
sofia1217
博客等级 码龄17年 36粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值