htop | htop - an interactive process viewer | Command Line Interface library

 by   htop-dev C Version: 3.2.2 License: GPL-2.0

kandi X-RAY | htop Summary

kandi X-RAY | htop Summary

htop is a C library typically used in Utilities, Command Line Interface applications. htop has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has medium support. You can download it from GitHub.

htop - an interactive process viewer
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              htop has a medium active ecosystem.
              It has 4987 star(s) with 329 fork(s). There are 56 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 179 open issues and 344 have been closed. On average issues are closed in 119 days. There are 44 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of htop is 3.2.2

            kandi-Quality Quality

              htop has no bugs reported.

            kandi-Security Security

              htop has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              htop is licensed under the GPL-2.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              htop releases are available to install and integrate.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of htop
            Get all kandi verified functions for this library.

            htop Key Features

            No Key Features are available at this moment for htop.

            htop Examples and Code Snippets

            No Code Snippets are available at this moment for htop.

            Community Discussions

            QUESTION

            How to run a python script through slurm in a cluster?
            Asked 2021-Jun-11 at 11:20

            What is the proper way of configuring jupyter on a server with slurm? After reading the docs, I am excecuting my python script through slurm like this (I am not sure if this is valid):

            ...

            ANSWER

            Answered 2021-Jun-11 at 11:20

            This is the correct way to request an interactive session on a compute node with an rtx2080ti GPU. But as Slurm tells you, your job has been submitted, and srun will block until Slurm finds 14 CPUs, 64GB and a GPU available for you. Until then, squeue will show your job as pending (PD).

            Running htop will only show you the processes running on the login node, you will not see the process you submitted unless your cluster has only one node that happens to be the login node as well.

            Source https://stackoverflow.com/questions/67908731

            QUESTION

            POST method does not pass the value password from the input field
            Asked 2021-Jun-09 at 05:19

            Here form is submitted via POST method but password given in the input field of type=password not assigning to 'upassword' given in the userregister function.When I print the 'upassword' it gives an output "None".Also it gives an error like this when I give JAVASCRIPT validation.

            ...

            ANSWER

            Answered 2021-Jun-09 at 05:18

            You are submitting pass and cpass, not password and cpassword, so change it to:

            Source https://stackoverflow.com/questions/67897952

            QUESTION

            How to limit the cpu usage of slurm?
            Asked 2021-Jun-01 at 12:01

            So I am running a slurm job across 2 laptops (2 nodes), and I notice both laptop gets insanely laggy, to the point that the mouse could not even move. When I uses htop I saw the job was using 4 cores in 100% usage. I know for sure that the job does not take up that many cpu usage. How do I make slurm so that it uses only the required amount of cpu power?

            ...

            ANSWER

            Answered 2021-Jun-01 at 12:01

            Slurm does not put any additional load onto the CPUs of your node. Besides what it needs for slurmd/slurmstepd, which is not much. If your job has access to four cores and you only use one, the others will be idle.

            Maybe your program does something unexpected?

            Source https://stackoverflow.com/questions/67713158

            QUESTION

            Why does interning global string values result in less memory used per multiprocessing process?
            Asked 2021-May-25 at 02:22

            I have a Python 3.6 data processing task that involves pre-loading a large dict for looking up dates by ID for use in a subsequent step by a pool of sub-processes managed by the multiprocessing module. This process was eating up most if not all of the memory on the box, so one optimisation I applied was to 'intern' the string dates being stored in the dict. This reduced the memory footprint of the dict by several GBs as I expected it would, but it also had another unexpected effect.

            Before applying interning, the sub-processes would gradually eat more and more memory as they executed, which I believe was down to them having to copy the dict gradually from global memory across to the sub-processes' individual allocated memory (this is running on Linux and so benefits from the copy-on-write behaviour of fork()). Even though I'm not updating the dict in the sub-processes, it looks like read-only access can still trigger copy-on-write through reference counting.

            I was only expecting the interning to reduce the memory footprint of the dict, but in fact it stopped the memory usage gradually increasing over the sub-processes lifetime as well.

            Here's a minimal example I was able to build that replicates the behaviour, although it requires a large file to load in and populate the dict with and a sufficient amount of repetition in the values to make sure that interning provides a benefit.

            ...

            ANSWER

            Answered 2021-May-16 at 15:04

            The CPython implementation stores interned strings in a global object that is a regular Python dictionary where both, keys and values are pointers to string objects.

            When a new child process is created, it gets a copy of the parent's address space so they will use the reduced data dictionary with interned strings.

            I've compiled Python with the patch below and as you can see, both processes have access to the table with interned strings:

            test.py:

            Source https://stackoverflow.com/questions/67471374

            QUESTION

            Python ffmpeg subprocess never exits on Linux, works on Windows
            Asked 2021-May-23 at 22:29

            I wonder if someone can help explain what is happening?

            I run 2 subprocesses, 1 for ffprobe and 1 for ffmpeg.

            ...

            ANSWER

            Answered 2021-May-23 at 15:46

            What type is the ffmpegcmd variable? Is it a string or a list/sequence?

            Note that Windows and Linux/POSIX behave differently with the shell=True parameter enabled or disabled. It matters whether ffmpegcmd is a string or a list.

            Direct excerpt from the documentation:

            On POSIX with shell=True, the shell defaults to /bin/sh. If args is a string, the string specifies the command to execute through the shell. This means that the string must be formatted exactly as it would be when typed at the shell prompt. This includes, for example, quoting or backslash escaping filenames with spaces in them. If args is a sequence, the first item specifies the command string, and any additional items will be treated as additional arguments to the shell itself. That is to say, Popen does the equivalent of:

            Popen(['/bin/sh', '-c', args[0], args[1], ...])

            On Windows with shell=True, the COMSPEC environment variable specifies the default shell. The only time you need to specify shell=True on Windows is when the command you wish to execute is built into the shell (e.g. dir or copy). You do not need shell=True to run a batch file or console-based executable.

            Source https://stackoverflow.com/questions/67661268

            QUESTION

            how to control potential fork bomb caused by mclapply, tried ulimit but didn't work
            Asked 2021-May-17 at 19:23

            I am using mclapply in my R script for parallel computing. It saves overall memory usage and it is fast so I want to keep it in my script. However, one thing I noticed is that the number of child processes generated during running the script is more than the number of cores I specified using mc.cores. Specifically, I am running my script on a server with 128 cores. And when I run my script, I set mc.cores to 18. During the running of the script, I checked the processes related to my script using htop. First, I can find 18 processes like this: enter image description here

            3_GA_optimization.R is my script. This all look good. But I also found more than 100 processes running at the same time with similar memory and CPU usage. The screenshot below shows some of them: enter image description here

            The problem of this is that although I only required 18 cores, the script actually uses all the 128 cores on the server and this makes the server very slow. So my first question is why is this happening? And what is the difference between these processes with green color compared to the 18 processes with black color?

            My second question is that I tried to use ulimit -Su 100 to set the soft limit of maximum number of processes that I can use before running Rscript 3_GA_optimization.R. I chose 100 based on the current number of processes I am using before running the script and the number of cores I want to use when running the script. However, I got an error saying:

            Error in mcfork(): unable to fork, possible reason: Resource temporarily unavailable

            So it seems that mclapply has to generate a lot more processes than mc.cores in order for the script to run, which is confusing to me. So my second question is that why does mclapply behaves in this way? Is there any other way to fix the total number of cores mclapply can use?

            ...

            ANSWER

            Answered 2021-May-17 at 19:23

            OP followed up in a comment on 2021-05-17 and confirmed that the problem was their parallelization via mclapply() called functions of the ranger package, which in turn parallelized using all available CPU cores. This nested parallelism, cause R to use many more CPU cores than available on the machine.

            Source https://stackoverflow.com/questions/67557939

            QUESTION

            What am I setting when I limit the number of "threads"?
            Asked 2021-May-14 at 14:00

            I have a somewhat large code that uses the libraries numpy, scipy, sklearn, matplotlib. I need to limit the CPU usage to stop it from consuming all the available processing power in my computational cluster. Following this answer I implemented the following block of code that is executed as soon as the script is run:

            ...

            ANSWER

            Answered 2021-May-14 at 14:00

            (This might be better as a comment, feel free to remove this if a better answer comes up, as it's based on my experience using the libraries.)

            I had a similar issue when multiprocessing parts of my code. The numpy/scipy libraries appear to spin up extra threads when you do vectorised operations if you compiled the libraries with BLAS or MKL (or if the conda repo you pulled them from also included a BLAS/MKL library), to accelerate certain calculations.

            This is fine when running your script in a single process, since it will spawn threads up to the number specified by OPENBLAS_NUM_THREADS or MKL_NUM_THREADS (depending on if you have a BLAS library or MKL library - you can identify which by using numpy.__config__.show()), but if you are explicitly using a multiprocesing.Pool, then you likely want to control the number of processes in multiprocessing - in this case, it makes sense to set n=1 (before importing numpy & scipy), or some small number to make sure you are not oversubscribing:

            Source https://stackoverflow.com/questions/67524941

            QUESTION

            Impossible to stop Logstash
            Asked 2021-May-11 at 03:58

            I am using ELK stack with Netflow module. First of all, when I checked CPU usage Logstash was using a lot of resources and I decided to stop it. This moment Elasticsearch/Kibana/Logstash is stopped. I mean, I ran command sudo service elasticsearch/kibana/logstash stop. Basically, I think that something is wrong with logstash. When I am see log in htop I am getting something like this, I do not understand why.

            When checking logstash service status, getting something like this.

            Logstash is still running, and I am trying to figure out how to stop it. I think, I ran it in a wrong manner at the start, but why not possible to stop it forever?

            ...

            ANSWER

            Answered 2021-May-10 at 09:14

            You have to be aware that Logstash will not stop unless it was able to end all pipelines and got rid of all the events in them.

            Stopping usually means that it will stop the input, making it so that no new events will enter the pipelines, then depending on the config of persistent queues or not it will process what is in the queue or not. This can indeed take upto several minutes depending on the amount of events and how hard the processing exactly is.

            Also keep in mind that when you have large bulk requests going to Elasticsearch itself it could mean that the messages are getting too large.

            If it is really needed to stop the Logstash and there is really no need to keeping the events that are in the queue, you can always do a kill -9 on the pid.

            Source https://stackoverflow.com/questions/67467612

            QUESTION

            DigitalOcean Server CPU 100% without app running
            Asked 2021-May-10 at 05:37

            htop command shows the CPU is 100% used even tho I do not have the app running or anything else. The DigitalOcean dashboard metric shows this same data (100% usage) as well.

            The top tasks on the htop list take less than 10% CPU usage. The biggest is pm2 taking ~5.2 % usage.

            Is it possible that there are hidden tasks that are not displaying on the list and, in general, how I can start investigating what's going on?

            My droplet used this one-click installation: https://marketplace.digitalocean.com/apps/nodejs

            Thanks in advance!

            Update 1)

            The droplet has a lot of free disk space

            ...

            ANSWER

            Answered 2021-May-10 at 05:37

            I ran pm2 save --force to sync running processes and the CPU went back to normal.

            I guess there was an app stuck or something that ate all the CPU.

            Source https://stackoverflow.com/questions/67464225

            QUESTION

            C++ call to LAPACKE run on a single thread while NumPy uses all threads
            Asked 2021-Apr-19 at 20:27

            I wrote a C++ code whose bottleneck is the diagonalization of a possibly large symmetric matrix. The code uses OpenMP, CBLAS and LAPACKE C-interfaces.

            However, the call on dsyev runs on a single thread both on my local machine and on a HPC cluster (as seen by htop or equivalent tools). It takes about 800 seconds to diagonalize a 12000x12000 matrix, while NumPy's function eigh takes about 250 seconds. Of course, in both cases $OMP_NUM_THREADS is set to the number of threads.

            Here is an example of a C++ code that calls LAPACK that is basically what I do in my program. (I am reading the matrix that is in binary format).

            ...

            ANSWER

            Answered 2021-Apr-19 at 17:28

            From the provided informations, it seems your C++ code is linked with OpenBLAS while your Python implementation use the Intel MKL.

            OpenBLAS is a free open-souce library that implement basic linear algebra functions (called BLAS, like the matrix multiplication, the dot products, etc.), but it barely supports advanced linear algebra functions (called LAPACK, like the eigen values, QR decomposition, etc.). Consequently, while the BLAS functions of OpenBLAS are well optimized and run in parallel. The LAPACK functions are clearly not well optimized yet and are mostly running in sequential.

            The Intel MKL is a non-free closed-source library implementing both BLAS and LAPACK functions. Intel claims high performance for the implementation of both BLAS and LAPACK functions (at least on Intel processors). The implementation are well optimized and most are running in parallel.

            As a result, if you want your C++ code to be at least as fast as your Python code, you need to link the MKL and not OpenBLAS.

            Source https://stackoverflow.com/questions/67165201

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install htop

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/htop-dev/htop.git

          • CLI

            gh repo clone htop-dev/htop

          • sshUrl

            git@github.com:htop-dev/htop.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link