1. 程式人生 > >常見問題分析解決方案

常見問題分析解決方案

一:線上問題排查

比如server有程序出現core

方法1:開啟coredump,生成core檔案,方便除錯(也可拉倒線下除錯)。

方法2:安裝tcpcopy,將線上流量導到線下機器進行進行除錯。

方法3:分析是否有多執行緒其中的部分執行緒退出導致其他執行緒出core等等

比如線上流量很少,但是server卻像處理不過來

方法1:pstack檢視程序都在幹什麼,阻塞在哪裡,並對照程式碼分析。

方法2:檢視網路tcp狀態,檢視服務程序都處於什麼狀態。

方法3:使用tcpdump分析網路狀態。

最後排查到是和系統設定有關:

netstat -n | grep 183.136.237.226:80 | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
修改系統網路引數:

net.ipv4.tcp_max_syn_backlog = 10240(預設1024,需調大)

net.core.somaxconn = 10240(預設128,需調大)

二:常見效能問題解決方法:

1:使用工具執行程式,gprof,Valgrind和Purify可以作為效能檢測工具,檢測出每個函式的執行時間和處理過程中所佔比重。

2:檢視在執行過程中所佔比重大的函式,分析每個函式佔比重大的原因,討論改進方法並進行修改。

3:重新測試看是否達到效果,重複1,2,3

小提示:linux下程式編譯的時候加上-O2,程式效能可以提高至少10%以上,如果程式中沒有物件池,使用tcmalloc也能提高10%到15%的效率。

記憶體洩露,越界問題排查
1:使用valgrind執行程式,從線上tcpcopy部分流量過來,將valgrind執行結果存入到檔案中。

2:逐條分析valgrind提示記憶體洩露或者越界的地方,看是否有釋放記憶體的地方,或者是否真的越界,如有則修正

3:修正之後出新版本,重複1,2,3

4:top命令觀察一段時間發現沒有記憶體增加或者處理出錯的時候則說明問題解決。

相關推薦

常見問題分析解決方案

一:線上問題排查比如server有程序出現core方法1:開啟coredump,生成core檔案,方便除錯(也可拉倒線下除錯)。方法2:安裝tcpcopy,將線上流量導到線下機器進行進行除錯。方法3:分析是否有多執行緒其中的部分執行緒退出導致其他執行緒出core等等比如線上流

Ubuntu 搭建svn服務器 ,以及常見錯誤解決方案

mkdir creat mod 服務 csdn 解決 details 守護 center 一、安裝命令: 1)以root身份登錄。執行:sudo su -命令 2)執行安裝命令:apt-get install subversion 二、創建項目目錄 1)mkdir /

Elasticsearch 5常見問題解決方案

elasticsearch-head elasticsearch grunt node bootstrap npm 安裝運行1、前置安裝java8jdk-8u112-linux-x64.rpm下載地址:http://www.oracle.com/technetwork/java/jav

docker之常見問題&解決方案

docker常見問題Docker 問題積累1. 使用Dockerfile構建鏡像時報錯2. Docker時區問題 3. 啟動Docker進程失敗–Centos7.X4. docker啟動失敗5. Docker啟動失敗–ubuntu 6. docker pull鏡像失敗 http://blog.csdn.net

分布式實時日誌分析解決方案ELK部署架構

hub redis lrn 選擇 spec 配置文件 模塊 date 應用 一、概述 ELK 已經成為目前最流行的集中式日誌解決方案,它主要是由Beats、Logstash、Elasticsearch、Kibana等組件組成,來共同完成實時日誌的收集,存儲,展示等一

大數據常見錯誤解決方案(轉載)

nvi clu linux腳本 /etc/ var fin remove -c 技術 1、用./bin/spark-shell啟動spark時遇到異常:java.net.BindException: Can‘t assign requested address

RecyclerView常見問題解決方案,RecyclerView嵌套自動滾動,RecyclerView 高度設置wrap_content 無作用等問題

design card ont mpi 焦點 goods rap rfi 高度 1,ScrollView或者RecyclerView1 嵌套RecyclerView2 進入頁面自動跳轉到recyclerView2上面頁面會自動滾動 貌似是RecyclerVie

eclipse常見問題解決方案

tool 解決方法 ini文件 工作區 ali error mylyn 你會 效果 1、maven項目,啟動報錯ClassNotFoundException,原因是tomcat下\WEB-INF\classes目錄中,java文件沒有編譯成class文件。解決方法:

raid陣列常見故障解決方案分享

分享 無法 操作系統 完整備份 raid磁盤陣列 常見故障 磁盤 數據存儲 href Raid磁盤陣列是一種將多塊物理硬盤整合成一個虛擬存儲的技術,raid模塊相當於一個存儲管理中間層,上層接收並執行操作系統及文件系統的數據讀寫指令,下層管理數據在各個物理硬盤上的存儲及讀寫

分布式實時日誌分析解決方案 ELK 部署架構

大數 tput 創建 localhost 註意 read 統計 支持 gate 一、前言 ELK 已經成為目前最流行的集中式日誌解決方案,它主要是由Beats、Logstash、Elasticsearch、Kibana等組件組成,來共同完成實時日誌的收集,存儲,展示等一站式

ELK日誌分析解決方案

    概要 ELK(Elasticsearch , Logstash, Kibana的簡稱)是目前比較流行的日誌分析解決方案,核心包括了三個部分 Elasticsearch:日誌查詢分析引擎 Logstash日誌蒐集過濾 Kibana:視覺化操作介面, 當然不限於上面3個還

ADB常見問題解決方案

1.AndroidStudio 安裝apk 失敗提示已經存在了 提示已經存在 1.檢視Android裝置中是否存在相同報名的應用,如果存在解除安裝掉 2.手機-》開發者選項-》USB安裝是否已開啟 2.usb連線裝置後,adb devices無法顯示裝置 電腦上安裝豌豆

Centos7常見問題解決方案

variable pos 才會 rac blog unknown indent cin lov 1,在Centos7中用MariaDB代替了mysql數據庫 ,2,mysql報錯:/usr/sbin/mysqld:unknown variable ‘default-char

Centos7常見問題解決方案 mysql報錯:/usr/sbin/mysqld:unknown variable 'default-character-set=utf8'

1,在Centos7中用MariaDB代替了mysql資料庫 ,2,mysql報錯:/usr/sbin/mysqld:unknown variable 'default-character-set=utf8'     修改mysql的字符集時,為了將預設字符集設定為utf-

區域網常見問題解決方案之你可能沒有許可權使用網路資源無法訪問網路上的芳鄰

最近公司區域網一臺公共的計算機,工作組的其他成員不能訪問該計算機,折騰了好久,在網上終於找到有效的解決方案,分享如下: 計算機系統:Windows XP 方法一: 一、在工具->資料夾選項->檢視,將"使用簡單檔案共享"前面的勾勾去掉;二、在控制面板->

centos7搭建高可用負載均衡伺服器及常見錯誤解決方案

本文章基於centos7版本安裝nginx+keepalived高可用伺服器,在yum命令可用情況下安裝: 1.安裝編譯環境 yum install gcc-c++; 2.安裝PCRE庫:yum install -y pcre pcre-devel; 3.安裝zlib庫

RecyclerView的使用總結以及常見問題解決方案

本文是RecyclerView原始碼分析系列最後一篇文章, 主要講一下我個人對於RecycleView的使用的一些思考以及一些常見的問題怎麼解決。先來看一下使用RecycleView時常見的問題以及一些需求。 RecyclerView使用常見的問題和需求 RecycleView設定了資料不顯示

Hadoop的一些常見錯誤解決方案

1、啟動hadoop時沒有NameNode的可能原因: (1) NameNode沒有格式化 (2) 環境變數配置錯誤 (3) Ip和hostname繫結失敗 2、搭建hadoop叢集使用ssh不成功 ①檢視防火牆 ②檢查使用者許可權 ③可能是缺少外掛 使用

移動端開發常見問題解決方案彙總- Javascript技巧(一)

1、安卓瀏覽器看背景圖片,有些裝置會模糊。 用同等比例的圖片在PC機上很清楚,但是手機上很模糊,原因是什麼呢? 經過研究,是devicePixelRatio作怪,因為手機解析度太小,如果按照解析度來顯示網頁,這樣字會非常小,所以蘋果當初就把iPhone 4的960640解析

Linux 軟體安裝常見問題解決方案

linux下安裝軟體出現的問題解決方案,持續更新中 1、Redis安裝問題 Redis版本:4.0.6 Linux版本:CentOS 7 場景:編譯Redis時 提示 /bin/sh: cc: