Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
|
dicas:lcpad [2009/04/16 11:10] paulojus |
dicas:lcpad [2015/06/12 16:05] (atual) paulojus [Uso do R no LCPAD] |
||
|---|---|---|---|
| Linha 7: | Linha 7: | ||
| ==== Conta no LCPAD ==== | ==== Conta no LCPAD ==== | ||
| - | Para ter conta é necessário solicitar e o trabalho deve estar vinculado a um projeto cadastrado. No LEG alguns usuários utilizam o LCPAD vinculados a um projeto de PJ. | + | Para ter conta é necessário solicitar e o trabalho deve estar vinculado a um projeto cadastrado. |
| + | No LEG alguns usuários utilizam o LCPAD vinculados a um projeto de PJ. | ||
| ==== Acesso ==== | ==== Acesso ==== | ||
| Linha 25: | Linha 26: | ||
| * É possível rodar aplicativos gráficos na servidora ''lcpad.ufpr.br'' mas não nas demais. | * É possível rodar aplicativos gráficos na servidora ''lcpad.ufpr.br'' mas não nas demais. | ||
| * Todas as servidoras utilizam uma área de usuário (conta) comum. A área dos usuários da estatística é sempre da forma ''/home/users/est/LOGIN'' | * Todas as servidoras utilizam uma área de usuário (conta) comum. A área dos usuários da estatística é sempre da forma ''/home/users/est/LOGIN'' | ||
| - | * O LCPAD utiliza o interpretador de comandos //ZSHELL//. Para mais detalhes [[lcpad#shell|ver sessão SHELL]] abaixo. | + | * O LCPAD utiliza o interpretador de comandos //Z-shell (/bin/zsh)//. Para mais detalhes [[lcpad#shell|ver sessão SHELL]] abaixo. |
| + | |||
| + | //Sugestão:// | ||
| + | * usar a servidora ''lcpad.ufpr.br'' para sessões interativas e/ou ''jobs'' rápidos | ||
| + | * usar as demais para ''jobs'' mais longos e/ou múltiplos ''jobs'' | ||
| + | * Existem diversas máquinas adicionais (ver saida do comando ''normas'') tais como ''a01-a10'', ''h01-h04'', ''o01-o03'' (**dentre outras**). | ||
| + | * para ver a lista de máquinas disponíveis digite em ''lcpad'':<code> | ||
| + | lcpad % carga | ||
| + | </code> | ||
| + | * para acessar uma delas use o ''rlogin''<code> | ||
| + | lcpad % rlogin bl03 | ||
| + | bl03 % | ||
| + | </code> | ||
| + | |||
| + | Note que o ''rlogin'' funciona mas é um link para ''ssh''. | ||
| ==== Uso do R no LCPAD ==== | ==== Uso do R no LCPAD ==== | ||
| + | |||
| Existem duas versões do programa ''R'' disponíveis no LCPAD | Existem duas versões do programa ''R'' disponíveis no LCPAD | ||
| - Uma versão disponível para acesso **apenas na servidora ''lcpad.ufpr.br''** que pode ser usada inclusive interativamente e graficamente. Para iniciar esta versão do R em modo interativo digite:<code> | - Uma versão disponível para acesso **apenas na servidora ''lcpad.ufpr.br''** que pode ser usada inclusive interativamente e graficamente. Para iniciar esta versão do R em modo interativo digite:<code> | ||
| - | % R </code> | + | % /home/users/est/paulojus/R/bin/R </code> |
| - | e para modo BATCH o comando usual e acompanha o andamento do //job// com:<code> | + | Voce pode (e deve) crirar um //alias// para o comando acima no sistema<code> |
| + | % alias R='/home/users/est/paulojus/R/bin/R' | ||
| + | </code> | ||
| + | |||
| + | Para modo BATCH o comando usual e acompanha o andamento do //job// com:<code> | ||
| % R CMD BATCH seu_programa.R & | % R CMD BATCH seu_programa.R & | ||
| % tail -f seu_programa.Rout | % tail -f seu_programa.Rout | ||
| </code> | </code> | ||
| - Nas demais máquinas do LCPAD não é possivel utilizar o R gráfico e foi compilada uma versão sem suporte gráfico do ''R'' que chamamos de ''Rnox''. Par usar esta versão voce deve primeiro criar um //alias// nos seu arquivo ''.bashrc'' e/ou ''.zshrc'' (se voce copiou estes arquivos da conta de PJ isto não é necessário pois o //alias// já está nos arquivos copiados): <code> | - Nas demais máquinas do LCPAD não é possivel utilizar o R gráfico e foi compilada uma versão sem suporte gráfico do ''R'' que chamamos de ''Rnox''. Par usar esta versão voce deve primeiro criar um //alias// nos seu arquivo ''.bashrc'' e/ou ''.zshrc'' (se voce copiou estes arquivos da conta de PJ isto não é necessário pois o //alias// já está nos arquivos copiados): <code> | ||
| - | alias Rnox="nice -n 19 /home/users/est/paulojus/R/bin/R" | + | alias Rnox="nice -n 19 /home/users/est/paulojus/Rnox/bin/R" |
| source .bashrc | source .bashrc | ||
| source .zshrc | source .zshrc | ||
| Linha 48: | Linha 68: | ||
| ==== Processos, logout, interrupções, etc ==== | ==== Processos, logout, interrupções, etc ==== | ||
| - | **Usando o zshell** se um processo em BATCH é iniciado com <code> | + | **Usando o Z-shell (zsh)** se um processo em BATCH é iniciado com <code> |
| % Rnox CMD BATCH seu_programa.R & </code> | % Rnox CMD BATCH seu_programa.R & </code> | ||
| ele será interrompido caso se voce se deslogar da máquina. | ele será interrompido caso se voce se deslogar da máquina. | ||
| Linha 54: | Linha 74: | ||
| Existem diferentes estratégias para contornar isto: | Existem diferentes estratégias para contornar isto: | ||
| - Mudar o seu //shell// para o ''bash'' ([[lcpad#shell|ver sessão SHELL]] abaixo) | - Mudar o seu //shell// para o ''bash'' ([[lcpad#shell|ver sessão SHELL]] abaixo) | ||
| - | - Utilizar ''disown'' ou ''nohup'' no //zshel// como nos exemplos a seguir (válido tanto para uso do ''R'' quanto ''Rnox'')<code> | + | - Utilizar ''disown'' ou ''nohup'' no //Z-shell// como nos exemplos a seguir (válido tanto para uso do ''R'' quanto ''Rnox'')<code> |
| a02% Rnox CMD BATCH ap.R & | a02% Rnox CMD BATCH ap.R & | ||
| a02% disown % | a02% disown % | ||
| Linha 64: | Linha 84: | ||
| No caso do ''Rnox'' esta última solução pode ser //automatizada// mudando o seu //alias// em ''.zshrc'' para:<code> | No caso do ''Rnox'' esta última solução pode ser //automatizada// mudando o seu //alias// em ''.zshrc'' para:<code> | ||
| - | alias Rnox="nice -n 19 nohup /home/users/est/paulojus/R/bin/R" | + | alias Rnox="nice -n 19 nohup /home/users/est/paulojus/Rnox/bin/R" |
| source .zshrc | source .zshrc | ||
| </code> | </code> | ||
| ==== SHELL ==== | ==== SHELL ==== | ||
| - | * O LINUX utiliza ''interpretadores de comandos'' (//shell//) no terminal para executar as instruções dos usuários. Existem diversos interpretadores de comandos que são muito semelhantes na sintaxe dos comandos mas possuem algumas diferenças entes eles. | + | * O LINUX utiliza ''interpretadores de comandos'' (chamados de //shell//) no terminal para executar as instruções dos usuários. Existem diversos interpretadores de comandos que são muito semelhantes na sintaxe dos comandos mas possuem algumas diferenças entes eles. |
| * O interpretador de comandos talvez mais comum (usado no LEG e instalação padrão de LINUX tais como debian e Ubuntu) é o ''bash'' (//born again shell//) e o arquivo de configuração na área do usuário é o ''.bashrc'' | * O interpretador de comandos talvez mais comum (usado no LEG e instalação padrão de LINUX tais como debian e Ubuntu) é o ''bash'' (//born again shell//) e o arquivo de configuração na área do usuário é o ''.bashrc'' | ||
| - | * No LCPAD utiliza-se outro, o ''zshell'' e o arquivo de configuração na área do usuário é o ''.zshrc'' | + | * No LCPAD utiliza-se outro, o ''zsh'' (//Z-shell//) e o arquivo de configuração na área do usuário é o ''.zshrc'' |
| * na servidora principal ''lcpad.ufpr.,br'' é possível mudar o interpretador de comandos padrão com<code> | * na servidora principal ''lcpad.ufpr.,br'' é possível mudar o interpretador de comandos padrão com<code> | ||
| % chsh </code> | % chsh </code> | ||
| * nas demais servidoras este comando não pode ser utilizado, mas pode-se trocar o interpretador de comando para o ''bash'' digitando-se:<code> | * nas demais servidoras este comando não pode ser utilizado, mas pode-se trocar o interpretador de comando para o ''bash'' digitando-se:<code> | ||
| - | a01% /bin/bash </code> | + | a01% /bin/bash </code> E para retornar ao ''zsh'' basta digitar <code> |
| + | a01% /bin/zsh</code> | ||
| * para fazer esta mudança parmanente e obter o ''bash'' toda vez que acessar as máquinas voce pode colocar na ultima linha do seu arquivo ''.zshrc'' o comando de mudança de shell: <code> | * para fazer esta mudança parmanente e obter o ''bash'' toda vez que acessar as máquinas voce pode colocar na ultima linha do seu arquivo ''.zshrc'' o comando de mudança de shell: <code> | ||
| /bin/bash </code> | /bin/bash </code> | ||
| Linha 83: | Linha 104: | ||
| </code> | </code> | ||
| + | |||
| + | ==== Acompanhando seus processo ==== | ||
| + | - No ''R'' sugere-se sempre colocar no seu programa comandos ''print()'' (por exmeplo imprimir o número da simulação) que permitam que voce acompanhe o andamento com <code> | ||
| + | % tail -f seu_programa.Rout | ||
| + | </code> | ||
| + | - Numa náuqina voce pode ver se o processo está rodando com um dos seguintes comandos do linux: <code> | ||
| + | % ps -u SEU_LOGIN | ||
| + | % top | ||
| + | </code> | ||
| + | - O LCPAD disponibiliza ainda comandos para acompanha processos:<code> | ||
| + | % carga | ||
| + | % carga -u | ||
| + | % carga -U | ||
| + | % carga -j | ||
| + | </code> | ||
| + | * A primeira forma mostra o //load// das máquinas. (útil para escolher em qual máquina está menos carregada submeter o próximo //job//), | ||
| + | * a segunda mostra o número total de processos que o usuário está rodando em cada máquina, | ||
| + | * a terceira mostra o número de processos do usuário que efetivamente consomem cpu. | ||
| + | * a quarta sintaxe mostra o nome dos programas daquele usuário rodando em cada máquina. | ||
| ==== Finalmente .... ==== | ==== Finalmente .... ==== | ||
| Vale insistir: não deixe de digitar na servidora o comando abaixo para ter mais informações sobre recursos e uso do sistema!!!<code> | Vale insistir: não deixe de digitar na servidora o comando abaixo para ter mais informações sobre recursos e uso do sistema!!!<code> | ||
| % normas </code> | % normas </code> | ||
| - | |||
| ==== Agradecimento ==== | ==== Agradecimento ==== | ||
| Agradecemos ao Prof. Carlos Carvalho (Depto de Física) o apoio, instruções e soluções para uso do LCPAD. | Agradecemos ao Prof. Carlos Carvalho (Depto de Física) o apoio, instruções e soluções para uso do LCPAD. | ||
| - | |||
| - | |||
| - | |||
| - | |||