Linux: Comment mettre une charge sur le système de mémoire?
Je suis en train de travailler sur une petite fonction, qui donne à mes utilisateurs une image de la façon dont occupé le CPU est.
Je suis en utilisant cat /proc/loadavg
, qui renvoie bien connus des 3 numéros.
Mon problème est que le PROCESSEUR ne fait rien maintenant, alors que je suis en développement.
Est-il un bon moyen de générer som charge sur le CPU, je pensais à quelque chose comme makecpudosomething 30
, pour une charge de 0,3 ou similaire. Une application comme cela existe?
Aussi, il y a aucune façon de manger de la RAM de manière contrôlée?
Grâce
Michael
Démarrer une application Java.
Il a dit "manger de la RAM dans un environnement contrôlé de fasion". Java serait tout simplement mâcher à travers ce qu'il veut...:-P
Voulez-vous calculer la charge de l'uc ou de l'utilisation de l'uc?
Il a dit "manger de la RAM dans un environnement contrôlé de fasion". Java serait tout simplement mâcher à travers ce qu'il veut...:-P
Voulez-vous calculer la charge de l'uc ou de l'utilisation de l'uc?
OriginalL'auteur Reiler | 2009-12-28
Vous devez vous connecter pour publier un commentaire.
Je ne comprenais pas très bien si vous voulez générer des La charge du PROCESSEUR ou de l'utilisation de l'UC. Oui, ils sont différents des choses en effet. Je vais essayer de couvrir à la fois les problèmes.
Tout d'abord: charge est le nombre moyen de processus dans le de course, praticable ou d'attente pour le CPU planificateur de files d'attente dans un laps de temps donné, "celui qui veut votre CPU" pour ainsi dire.
Donc, si vous voulez générer des charge (dire 0.3), vous devez exécuter un processus de 30% du temps, et puis la retirer de la file d'attente d'exécution pour 70% du temps, en le déplaçant vers la file d'attente de couchage ou de le tuer, par exemple.
Vous pouvez essayer ce script pour faire ça:
Noter que vous devez attendre un certain temps (1, 10 et 15 minutes) pour obtenir le nombre de venir, et il sera influencé par d'autres processus dans votre système. Le plus occupé de votre système est plus ce nombre flottant. Le dernier numéro (15 minutes d'intervalle) a tendance à être le plus précis.
Utilisation de l'UC est, au lieu de cela, la quantité de temps pendant lequel la CPU a été utilisé pour le traitement des instructions d'un programme informatique.
Donc, si vous voulez générer des utilisation de l'UC (disons 30%) vous devez exécuter un processus qui est lié de l'UC 30% du temps, capacité de 70%.
J'ai écrit un exemple pour vous montrer que:
Si vous voulez manger une quantité fixe de RAM, vous pouvez utiliser le programme dans le cgkanchi's réponse.
modifié: inflige désormais avec un mauvais timing
OriginalL'auteur Carmine Paolino
aussi le stress programme vous permettra de charger le cpu/mémoire/disque pour les niveaux que vous voulez simuler:
de maintenir un niveau particulier de l'utilisation du processeur, par exemple 30%, essayez cpulimit:
il va s'adapter au système actuel de l'environnement et de l'ajuster pour toute autre activité sur le système.
il y a aussi un patch pour le noyau natif du processeur taux de limites ici: http://lwn.net/Articles/185489/
yes
processus avec nice, 19 et deuxyes
processus avec de belles 0. En effet, le 1,5% de Ingo était en train de parler. gist.github.com/265744stress
lien est mort... impossible de trouver quoi que ce soit sur le big G. quelqu'un sait où il est allé?C'est 3 ans de retard, mais voici une page de recherche google pour la description du projet "le stress est délibérément simple... &c." people.seas.harvard.edu/~apw de stress/
Aussi le stress-ng est une mise à jour/fourche de stress qui permet à la charge de l'uc pour être spécifiée en pourcentage plutôt que "nombre de l'ensemble des Processeurs à max à 100%" kernel.ubuntu.com/~cking/stress-ng
OriginalL'auteur jspcal
De manger jusqu'à un montant fixe de RAM, vous pouvez simplement:
Le memset() appel semble être nécessaire, parce que, au moins sur OS X, la mémoire réelle ne semble pas obtenir utilisé jusqu'à ce qu'il est réellement initialisé.
EDIT: Fixe en réponse au commentaire
Ce programme ne fonctionne pas
OriginalL'auteur Chinmay Kanchi
Vous pouvez essayer http://code.google.com/p/stressapptest/
OriginalL'auteur liori
Utiliser "memtester" pour faire de votre mémoire, des tests de régression dans Linux.
OriginalL'auteur Janaka
J'ai pris ce programme et modifier la ligne: mem = 1024*1024*512; //512 mo
dire ceci: mem = 1*1024*1024*1024; //1 GO
et le compiler.
$ gcc iss_mem.c -o iss_mem
Et écrire un bash wrapper autour de la version compilée du programme C ci-dessus. Il m'aide à générer beaucoup de la charge de la mémoire dans mon serveur.
OriginalL'auteur Mamadou Lamine Diatta
Très simple en fait: installer le stress de l'outil et de le faire:
malloc()
" votre RAMExemple:
OriginalL'auteur thermz
Avez-vous envisagé d'utiliser prime95?
Je ne suis pas sûr si vous pouvez vous limiter à un pourcentage comme ça tho...
OriginalL'auteur John Gietzen
Est une simple analyse comparative de commande qui donnera à votre unité centrale rousting, postez votre temps 😀
0m4.718s sur mon ordinateur de travail ;P
OriginalL'auteur Question Mark
La façon la plus simple que j'ai trouvée à la charge de la RAM (et SWAP) est par l'utilisation de Perl:
OriginalL'auteur user2928769
Espérons que cette application sera utile:
https://www.devin.com/lookbusy/
Étapes d'installation et d'utilisation est trouvé dans github du projet qui utilise lookbusy.
https://github.com/beloglazov/cpu-load-generator
Extrait à partir de Github page:
Pour générer une séquence de 20%, 90%, et 50% d'utilisation du PROCESSEUR pendant 20 secondes chacune sur 2 cœurs à l'aide de test.fichier de données,
OriginalL'auteur dkb
vous pouvez le stress de l'utilité, c'est une charge de travail de l'outil de générateur conçu pour exposer votre système à un configurable mesure de CPU, mémoire, I/O disque et de stress.
Pour exécuter 1 vm facteur de stress à l'aide de 1 GO de mémoire virtuelle pour les années 60, entrez:
stress --vm 1 --vm-octets 1G --vm-garder-t 60
OriginalL'auteur user128364
1G de mémoire
OriginalL'auteur Feng