原创 用strace查找進程卡死原因

最近遇到進程卡死的情況,但是自己調試的過程中並不一定能復現,都是需要運行一段時間某些條件下才會觸發,對於這種運行着不能破壞現場的情況,我們可以使用gdb -p和strace -p來跟蹤。 首先我們用ps auxf查看我們的進程執行到了哪

原创 docker registry帶ssl認證的私有倉庫搭建

1.首先docker pull registry默認下載最新版的鏡像,我這邊是2.6.2版本 2.這邊考慮私有倉庫部署的服務器可能沒有網絡,可以使用docker save -o registry.tar registry:2.6.2保存

原创 linux守護進程

1.守護進程最重要的特性是後臺運行。 2.守護進程必須與其運行前的環境隔離開來。這些環境包括未關閉的文件描述符,控制終端,會話和進程組,工作目錄以及文件創建掩模等。這些環境通常是守護進程從執行它的父進程(特別是shell)中繼承下來的。

原创 MQTT協議通俗講解

原文鏈接:https://blog.csdn.net/u011216417/article/details/69666752 參考 Reference 協議文檔 Offical Docs

原创 ntpdate同步時間

先說下ntpdate的用法: usage: ntpdate [option] server 大概就是ntpdate 192.168.0.1這樣 最近發現個問題,當強制把本機時間改大了一個月之後,再使用ntpdate向主機同步時間會報

原创 libevent多線程使用bufferevent的那些事

void do_accept(struct evconnlistener *listener, evutil_socket_t fd, struct sockaddr *sa, int socklen, void *ctx) {

原创 在windows下寫linux代碼直接編譯

大多數人都習慣於在windows下用source insight編輯代碼,然後用xftp拷貝到linux下進行編譯,如果有小的改動,就直接在linux下用vim進行編輯修改。至於爲什麼是vim,工作這麼多年,還沒有一家公司的服務器是帶界面

原创 epoll的ET和LT模式下,accept,recv,send寫法

epoll有兩種事件模型: Level Triggered (LT) 水平觸發 socket接收緩衝區不爲空,有數據可讀,讀事件一直觸發 socket發送緩衝區不滿,可以繼續寫入數據,寫事件一直觸發 Edge Triggered

原创 線程池的最優大小

計算密集型應用(CPU密集) 顧名思義就是應用需要非常多的CPU計算資源,I/O在很短的時間就可以完成,而 CPU 還有許多運算要處理。 在計算密集型應用中,線程池的大小應該等同於主機中 CPU 的數量。再添加更多線程將會打斷請求的處

原创 github管理代碼

首先要去https://github.com/註冊一個賬號,然後Create a new repository,記下我們的用戶名,郵箱和倉庫名字。 然後在linux上安裝git服務,執行ssh-keygen -t rsa -C “3

原创 struct中的數組和指針

這裏可以看出來兩點: 1.struct的內存對齊是按照成員最大的那一個來的 2.數組在struct中不佔大小 重點說第2個,在linux內核代碼中屢見不鮮! 這個用法主要用於變長buffer,test1的大小爲4,結構體中的

原创 docker run --rm

先引用docker run命令的幫助文檔原文: Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…] Run a command in a new container –rm Aut

原创 pipework給docker設置mac

繼我上一篇文章pipework給docker設置ip,現在需求增加了還要設置mac,pipework也提供了這個功能。我們可以看看pipework的語法: Syntax: pipework hostinterface [-i cont

原创 shell腳本打印日誌

#!/bin/bash LOG_FILE="/var/log/test.log" >"${LOG_FILE}" exec &>>${LOG_FILE} set -x 第一行是定義日誌絕對路徑 第二行是先清空日誌文件內容 第三行是把當

原创 Linux下高併發socket,單機提供五十萬連接

引用《Linux網絡編程》 一個完整的Socket描述,五元組,{協議,本地地址,本地端口,遠程地址,遠程端口} 當我們自己寫客戶端測試程序來測試我們的服務端程序性能的時候,經常會遇到連接量上不去的問題,大多都是停留在2萬左右。如果我們的