[linux] operaciones relacionadas con linux 2 (compilación de biblioteca parcial\comprobar el uso de la CPU y la memoria)

9. Compilación de biblioteca parcial:

zlib

  1. descargar
  2. cargar servidor
    • rz selecciona archivos como: zlib-1.2.11.tar.gz
  3. descomprimir
    • tar xvf zlib-1.2.11.tar.gz
  4. Ingresa a la carpeta descomprimida
    • cd zlib-1.2.11
  5. compilar
    • compilación de CD
    • hacer…
  6. generar
    • hacer
  7. generar minizip
  8. Ruta de archivo de encabezado y lib requerida
    • lib se encuentra en la compilación
    • unzip.h etc. en contrib/minizip
    • Todos los archivos en minizip deben moverse a la ruta zlib-1.2.11/
    • Si usa cmake, add_executable()agregue

rizo

  1. descargar
    • Sitio web oficial: https://curl.haxx.se/download.html
  2. cargar servidor
    • rz Seleccione un archivo como: curl-7.51.0.tar.gz
  3. descomprimir
    • alquitrán xvf curl-7.51.0.tar.gz
  4. Ingresa a la carpeta descomprimida
    • cd curl-7.51.0
  5. Crear una ruta de compilación
    • mkdir …/rizo
  6. compilar
    • ./configure --prefix=/home/pangu/tools/curl --sin-ssl
  7. generar
    • hacer
    • hacer instalar

jrtplib

  1. descargar

  2. cargar servidor

    • rz Seleccione un archivo como: JRTPLIB-3.11.2.tar.gz
  3. descomprimir

    • tar xvf JRTPLIB-3.11.2.tar.gz
  4. Ingresa a la carpeta descomprimida

    • cd JRTPLIB-3.11.2
  5. Crear una ruta de compilación

    • mkdir …/jrtp
  6. Modificar CMakeLists.cmake

    • cmake_minimum_required(VERSION3.0)
      
      project(jthread)
      
      set(VERSION1.3.3)
      
      #************************************staradd****************************** 
      
      SET(CMAKE_SYSTEM_NAME Linux)
      
      #Setting up the C compiler  
      
      SET(CMAKE_C_COMPILER "gcc")
      
      #Setting up the C++ compiler
      
      SET(CMAKE_CXX_COMPILER "g++")
      
      #set install path 该目录是自己设定的目录
      
      set(CMAKE_INSTALL_PREFIX "/home/pangu/tools/jrtp")
      
      set(JRTPLIB_INTERNAL_INCLUDES "/home/pangu/tools/jrtp/include")
      set(JRTPLIB_EXTERNAL_INCLUDES "/home/pangu/tools/jrtp/include")
      #************************************endadd****************************** 
      
      include(CheckCXXSourceCompiles)
      
       
      
      set(_DEFAULT_LIBRARY_INSTALL_DIR lib)
      
  7. compilar

    • hacer/
  8. generar

    1. hacer
    2. hacer instalar

La compilación de muchas bibliotecas puede seguir esta regla. Sin privilegios de raíz, si no se cambia la ruta de compilación, el acceso make installfallará .

10. Ver identificadores de archivos y canales:

  1. detalles: ls -l /proc/[pid]/fd
  2. Número de asas:ls /proc/[pid]/fd | wc -w

11. Verifique el uso de la CPU y la memoria:

Comprobar el uso de la CPU

Documento de referencia: (170 mensajes) El programa Linux C++ da cuenta de la solución de problemas de problemas de cpu%_Fantasy Fishing Blog-CSDN Blog

Proceso principal:

  1. top -u panguDespués de eso, ingrese mayúsculas Py la salida se ordenará de acuerdo con el uso de la CPU para obtener el PID del proceso
  2. top -Hp <PID>Después de eso, ingrese mayúsculas Ppara obtener la clasificación del uso de la CPU del subproceso y obtenga el THD del subproceso
  3. pstack <THD>Después de eso, se mostrará la pila de llamadas del hilo, indicando la dirección de la investigación.

Comprobar el uso de la memoria

Porque a veces puede ser inconveniente probar en Windows, o el rendimiento de Windows no es consistente con Linux. Puede usar la herramienta de solución de problemas de memoria de Linuxvalgrind

Documentos de referencia:

Método de uso principal:

  1. Asegúrese de que el servidor actual no inicie el programa;
  2. valgrind --log-file=123123.txt --tool=memcheck --leak-check=full --show-leak-kinds=all --quiet ./Pangu

Supongo que te gusta

Origin blog.csdn.net/Daibvly/article/details/128416686
Recomendado
Clasificación