程序工作相关20190318-20190323

下查看CPU使用率常

top

top -c

top -bn 1 -i -c

ps -ef|grep 6968

Linux查看某个进程的线程

线程是现代操作系统上进行并行执行的一个流行的编程方面的抽象概念。当一个程序内有多个线程被叉分出用以执行多个流时,这些线程就会在它们之间共享特定的资源(如,内存地址空间、打开的文件),以使叉分开销最小化,并避免大量高成本的IPC(进程间通信)通道。这些功能让线程在并发执行时成为一个高效的机制。

进程里的线程

top -H -p 1845(pid)进程id

linux下查看跟踪线程

https://blog.csdn.net/just_lion/article/details/81391433

查询java对象内存占用情况和堆栈信息

1、用命令top查看java进程的内存和cpu占用情况。

2、jmap -histo  pid查询指定java进程的所有对象使用内存情况。

3、ps -mp pid -o THREAD,tid,time  查询所有线程列表

4、将需要的线程ID转换为16进制格式:printf "%x\n" tid

5、jstack pid |grep tid -A 50    查看该线程堆栈信息   

ps:    pid  是进程ID      tid    是线程ID     -A 30  表示显示最后30行
 

jquery 按钮增加,删除

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title222</title>
    <script src="./assets/jquery-1.11.3.min.js"></script>
    <script src="./assets/jquery-2.1.4.min.js"></script>
</head>
<style>
    .content{
       list-style: none;
        padding-left: 10px;
    }
    .ui-title{border-bottom: 1px solid #333;width:300px;text-align: center;
        height: 30px;margin-bottom: 15px}
    .ui-title span{display: inline-block;}
    .ui-title .ui-ladder{width: 140px;}
    .ui-title .ui-commission{width: 100px;}
    .ui-container input{
        width: 80px;
        height: 12px;
        padding: 5px;
        margin-right: 5px;}
    .commission-text{margin-left: 20px}
    .ui-container div{display: inline-block;margin-bottom: 10px}
</style>
<body>
<div>
    <div class="ui-title"><span class="ui-ladder">阶梯</span><span class="ui-commission">佣金</span></div>
    <ul class="content">
    <li class="ui-container" id="liId_0">
        <div class='ladder-text'>[<span>0</span>--<input type="number" placeholder="∞"  />)  </div>
        <div class='commission-text'> <input type="number"/></div>
        <button type="button" id="j_addladder_id_0" class="j-addladder" onclick="addBut(this)">+</button>
    </li>
    </ul>
</div>
<script>

        //$(".ui-container").on('.j-addladder','click',function(e){
        /*$(".ui-container").on('.j-addladder','click',function(e){
            var _this = $(e.target)
            _this.parent().find('.j-addladder').remove()
            $('.content').append(
                ' <li class="ui-container">'+
                ' <div class=\'ladder-text\'>[<span>0</span>--<input type="number" placeholder="∞"  />)  </div>'+
                '<div class=\'commission-text\'> <input  type="number"/></div>'+
                '<button type="button"class="j-addladder">+</button>'+
                '<button type="button" class="j-romoveladder">-</button>'+
                '</li>'
            )


        })*/
        
    
    /*    $('.j-addladder').click(function(e){
    var _this = $(e.target)
            _this.parent().find('.j-addladder').remove()
            $('.content').append(
                ' <li class="ui-container">'+
                ' <div class=\'ladder-text\'>[<span>0</span>--<input type="number" placeholder="∞"  />)  </div>'+
                '<div class=\'commission-text\'> <input  type="number"/></div>'+
                '<button type="button"class="j-addladder">+</button>'+
                '<button type="button" class="j-romoveladder">-</button>'+
                '</li>'
            )
            
});*/
var num=1;
function addBut(e){

$("#j_addladder_id_"+(num-1)).remove();
$("#j_reladder_id_"+(num-1)).remove();

            $('.content').append(
                ' <li class="ui-container" id="liId_'+num+'">'+
                ' <div class=\'ladder-text\'>[<span>0</span>--<input type="number" placeholder="∞"  />)  </div>'+
                '<div class=\'commission-text\'> <input  type="number"/></div>'+
                '<button type="button" id="j_addladder_id_'+num+'" class="j-addladder" onclick="addBut(this)" >+</button>'+
                '<button type="button" id="j_reladder_id_'+num+'" class="j-romoveladder" onclick="rmBut(this)" >-</button>'+
                '</li>'
            )
            num++;
}

function rmBut(e){
    if(num-1>1){
        $("#liId_"+(num-1)).remove();
        $('#liId_'+(num-2)).append(
        '<button type="button" id="j_addladder_id_'+(num-2)+'" class="j-addladder" onclick="addBut(this)" >+</button>'+
        '<button type="button" id="j_reladder_id_'+(num-2)+'" class="j-romoveladder" onclick="rmBut(this)">-</button>')
    }else if(num-1==1){
        $("#liId_"+(num-1)).remove();
        $('#liId_'+(num-2)).append(
        '<button type="button" id="j_addladder_id_'+(num-2)+'" class="j-addladder" onclick="addBut(this)" >+</button>')
    }
    num--;
}
        

</script>
</body>
</html>

 ERROR [gy.lib.id.IdUtil] - get num id is 0

文件排查

redis主从哨兵模式:https://www.cnblogs.com/a347911/p/8195003.html

https://blog.csdn.net/weixin_42711549/article/details/83061052

树目录ftp安装教程:https://blog.csdn.net/neal_ke/article/details/43341181

 

/var/log/messages目录删除后未释放磁盘空间

重启rsyslog服务时出现问题(误删/var/log/messages解决方案)

重启rsyslog服务释放空间:systemctl restart rsyslog重启服务

禅道使用简单流程:

猜你喜欢

转载自blog.csdn.net/niehida/article/details/88642452